当前位置:Gxlcms > 数据库问题 > JDBC初级

JDBC初级

时间:2021-07-01 10:21:17 帮助过:22人阅读

1.将mysql的jdbc驱动加载到内存中 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //指定需要连接的数据库地址,用户名和密码 String url = "jdbc:mysql://127.0.0.1:3306/库名?" +"useUnicode=true&characterEncoding=utf-8 &" +"useSSL = false & serverTimezone = UTC"; //为了防止数据库和程序编码不一致的情况,加上后缀 //?useUnicode=true&characterEncoding=utf-8 //mysql5.7以上的版本,由于添加了SSL认证接口,所以在执行的时候可能会报出警告 //mysql8.0其实不需要SSL认证了,但是保留了SSL接口,所以在连接的时候最好指明useSSL=false //mysql8.0还有一个时区的问题serverTimezone=UTC String user = "root"; String password = "数据库密码"; Connection conn = null; Statement stmt = null; try { //2.获取连接 conn = DriverManager.getConnection(url, user, password); //3.通过连接创建Statement对象 stmt = conn.createStatement(); //4.执行数据库语句 DML //jdbc中增删改都是executeUpdate方法 //这个方法会返回一个int类型的值 //对应就是几行数据受影响 //插入语句 int n = stmt.executeUpdate("sql的DML语句"); //需要注意的是sql的DML语句中关于varchar对象的输入注意单引号的书写 //java中的字符创类型在sql中不会当做字符串处理,需要手动添加单引号 System.out.println(n + "行受影响"); //4.执行数据库语句 DQL //jdbc中增删改都是executeQuery方法 //这个方法会返回一个ResutSet类型的值 //ResutSet类型存储的是查询到的虚拟表的游标 ResutSet resut = stmt.executeQuery("sql的DQL语句"); //循环游标 while(resut.next()){ //如果游标指向的有值,则把值放入resut中,并返回true,如果没有就返回false resut.get类型(int || String); //每个get类型()方法都有两个重载, //get类型(int);查询的虚拟表的第几列,从1开始 //get类型(String);查询的虚拟表的字段名对应的列, //需要注意如果定义了别名String也应当是别名!! } } catch (SQLException e) { e.printStackTrace(); } finally { //5.关闭数据库 try { if(stmt != null) { stmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } //在上述的对象关闭中可以只关闭conn }

其他

时间类型

时间在JAVA中的定义可以是java.util(推荐使用,转格式方便)与java.sql

注意:Java中的Date是Java.util.Date无法直接放入sql语句之中,要么转化为String,要么转化为Java.sql.Date

 Java.sql.Date date = new Java.sql.Date((Util.Date对象).getTime());
 //将sql.Date转化为Util.Date

 

JDBC初级

标签:otf   字符创   strong   zone   插入   getc   对象   test   sql语句   

人气教程排行