使用到的环境如下:
IEDA19.0.1
Navicat16.0.11
mysql依赖包:mysql-connector-j-8.0.32.jar
1.要使用JDBC连接mysql实现基本的表操作,我们首先要知道 JDBC 是什么?
网上的资料:
概念:JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术。
简单的来说 JDBC 在JAVA和mysql(或者其他数据库)扮演着一个中间人的角色 ,java编程要结合数据库管理用户数据的话,就会通过jdbc。
至于JDBC的安装配置和一些基本的概念,可以自行检索。
2.mysql语句的使用和建表和插入数据
这里为了方便后续的演示,直接使navicat建表 插入演示数据
当navicat 版本为16.0 .11这里稍微需要一点mysql基础
3.IEDA新建项目,开始‘部署配置环境’
3.1创建新项目
打开IEDA主页面–>左上角的–>file–>new–>project 随便给个命名 (建议不要用中文)
演示项目名为Project01
3.2 JAVA代码分包分层,新建两个包 分别是dao层和util工具包
Project01–>src–>new–>package
3.3 新建项目依赖 导入mysql依赖包
在src文件同层级新建一个Directory类型文件 命名为lib
可以根据相应的版本需求,下载适配的mysql依赖包
下载mysql依赖包的方法 可以参考这位博主的博客
参考地址:(1条消息) JDBC数据库驱动的下载、安装与连接_jdbc驱动下载_pan_junbiao的博客-CSDN博客
下载地址:MySQL :: Download Connector/J
下载完成之后,将mysql依赖包放到lib文件夹中
此时mysql依赖包还没有完全得导入(配置)到项目之中,还需要进一步配置
配置方法如下:
打开IEDA主页面–>file–>Project Structure–>
选择第一个
然后知道mysql依赖包的文件位置
接下来
这样纸就算导入配置完成啦
3.4 配置数据库properties文件
在src文件下,dao包和utils包同层级 新建一个文件
命名为db.properties
当这个文件的图标变化的时候,就说明成功了
打开这个文件 写入链接的数据库信息
driver=com.mysql.cj.jdbc.Driver //加载驱动程序url=jdbc:mysql://localhost:3306/test //localhost表示本机 test表示要操作的数据库user=root //用户名password=weiyihang666 //密码
4.具体代码展示 实现对mysql数据表的基本操作(具体实现代码放在文章末尾)
4.1 .mysqlutil包代码如下
4.2 .dao层 GetInfo接口代码如下
4.3 . dao层 GetInfoImpl接口实现类 代码如下
包括主函数测试方法
运行结果
5.基本实现JAVA通过JDBC实现对数据库的基本操作
当然还有好多数据库的操作可以实现 这里就不多做叙述,
最后代码如下 仅供参考
mysqlutil包
public class MysqlUtil {public static String driver=null;//驱动程序public static String url=null;//数据库地址public static String user=null;//用户名public static String password=null;//密码static{//怎么读取properties里在内容Properties properties = new Properties();//try {InputStream in = new FileInputStream("src/db.properties");//创建一个FileInputStream实例properties.load(in);//用于读取db.properties文件中的内容} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}//分别读取赋值信息driver = properties.getProperty("driver");url = properties.getProperty("url");user = properties.getProperty("user");password = properties.getProperty("password");}public static Connection getMysqlConnection() {//注册驱动Connection conn = null;try {//加载数据库驱动类Class.forName(driver);//获取数据库链接对象conn = DriverManager.getConnection(url,user,password);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}//简单的判断返回值的状态是否为空public static void closeResource(ResultSet rs, PreparedStatement pre, Connection conn) {try {if(rs!=null) {rs.close();}if(pre!=null) {pre.close();}if(conn!=null) {conn.close();}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
GetInfo接口代码
public interface GetInfo {publicvoid getInfo() throws SQLException; //查询全表数据public void IntoInfo(String id,String dname,String type) throws SQLException;//传入相应的数据public void deleteInfo(String id) throws SQLException;//传入id删除对应数据public void removeInfo(String id,String str) throws SQLException;//传入id修改对应数据 }
GetInfoImpl接口实现类和主函数测试代码
public class GetInfoImpl implements GetInfo{public static void main(String[] args) throws SQLException {GetInfoImpl getInfoImpl=new GetInfoImpl();//初始化对象实例 开始测试getInfoImpl.getInfo();//查询全表信息getInfoImpl.IntoInfo("1005","校园志愿者","志愿服务");//插入新的数据getInfoImpl.getInfo();//查询全表信息getInfoImpl.removeInfo("1005","单车摆放志愿者");//修改1005的dnamegetInfoImpl.getInfo();//查询全表信息getInfoImpl.deleteInfo("1005");//删除1005的数据getInfoImpl.getInfo();//查询全表信息}@Overridepublic void getInfo() throws SQLException {String sql_select = "select * from demo";//操作的mysql语句Connection conn = MysqlUtil.getMysqlConnection();//加载驱动PreparedStatement pre = conn.prepareStatement(sql_select);//将mysql语句执行结果ResultSet rs = pre.executeQuery(); //增删改 executeUpdate() 查 executeQuery()rs就是一个结果集while(rs.next()) {String id = rs.getString("id");//rs 通过getstring获取值String dname = rs.getString("dname");String type = rs.getString("type");System.out.println("项目id: "+id);//输出打印System.out.println("项目名称: "+dname);System.out.println("项目类型: "+type);System.out.println();}MysqlUtil.closeResource(rs,pre,conn);//关闭}@Overridepublic void IntoInfo(String id, String dname, String type) throws SQLException {String sql_select ="insert into demo(id,dname,type) values(" />制作不易 ,点点关注收藏呗!!!