原生JDBC连接数据库案例教学
前言:
我们在刚刚接触后端开发时,有没有思考过,怎么才能后java代码和数据库进行交互的呢?
正轨:
今天就带大家一起学习一下原生JDBC连接数据库
里面解析结果集说了两种:一种需要导入maven依赖:
<dependency> <groupId>commons-dbutils</groupId> <artifactId>commons-dbutils</artifactId> <version>1.6</version> </dependency>
直接上代码:
public static void main(String args[]){ Connection con = null; Statement sta = null; ResultSet rs = null; try { //1.注册驱动==》告诉指挥部有哪些造桥人可以调遣 Class.forName("com.mysql.cj.jdbc.Driver"); //这里是mysql为例 oracle的url ---"jdbc:oracle:thin:@localhost:1521:orcl" String url = "jdbc:mysql://127.0.0.1:3306/test_1.0"; String user = "root"; String pwd = "root"; //2.获得链接==》指挥部根据传入类型 调遣不同的造桥的人造桥 con = DriverManager.getConnection(url,user,pwd); //3.创建Statement对象===》造车 sta = con.createStatement(); //4.执行SQL ==》运行SQL 有结果返回 String sql="select * from user"; rs = sta.executeQuery(sql); //5.处理结果 while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); //String code = rs.getString(""); System.out.println(id+"\t"+name+"\t"+age+"\t"); } System.out.println("----------------华丽分割线------------------"); //第五步处理结果还可以引入Dbutils工具包来解析结果 QueryRunner queryRunner = new QueryRunner(); List<User> list = queryRunner.query(con, sql, new BeanListHandler<>(User.class)); list.forEach(x-> System.out.println(x)); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); }finally { //6.关闭资源 close(con,sta,rs); } }
其中,在结束时要关闭资源,防止资源浪费,这里封装了一个关闭资源方法,代码如下:
public static void close(Connection con , Statement sta , ResultSet rs){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } try { sta.close(); } catch (SQLException e) { e.printStackTrace(); } try { con.close(); } catch (SQLException e) { e.printStackTrace(); } }
运行结果展示,代码如下:
/** * 运行结果展示: * 解析ResultSet结果 * 1 df 222 * 2 wang 22 * ----------------华丽分割线------------------ * 使用Dbutils来拿取数据库结果展示 * User(id=1, name=df, age=222) * User(id=2, name=wang, age=22) */
结语:
这样就和数据库建立了连接,当然对于数据库的url,账号密码可以写在配置文件中,这样方便修改,本博客目的是讲一下原生JDBC怎么与数据库建立连接的,有什么问题留言呦!!有时间写一下Dbutils工具包QueryRuunner的常用方法.