url的固定写法:
String url ="jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8&serverTimezone=Asia/Shanghai";
前言
JDBC的全称是:Java Database Connectivity,即Java数据库连接。
JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。
那么,在数据库连接的时候,我使用的是MySQL,Java集成开发环境是Eclipse。
要使用JDBC来访问MySQL数据库,首先需要添加MySQL数据库驱动程序。
一、JDBC是什么?
它是由一组java类和接口组成。
具体有:
DriverManager(驱动类) Connection(连接) Statement(声明) ResultSet(结果集)
二、使用步骤
1.引入库
代码如下(示例):
Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/cgb2107?characterEncoding=utf8&serverTimezone=Asia/Shanghai"; Connection con = DriverManager.getConnection(url, "root", "root"); String sql= "insert into student values(null,?,?,?,?,?,?)"; PreparedStatement p = con.prepareStatement(sql); //给SQL设置参数---参数的顺序一定要和字段的顺序一致 p.setObject(1,s.getName()); p.setObject(2,s.getAge()); p.setObject(3,s.getSex()); p.setObject(4, Arrays.toString(s.getHobby())); p.setObject(5,s.getEdu()); p.setObject(6,s.getIntime()); //打行SQL p.executeUpdate(); p.close(); con.close();
总结
Statement和PreparedStatement的异同及优缺点
同:两者都是用来执SQL语句的
异:PreparedStatement需要根据SQL语句来创建,它能够通过设置参数,指定相应的值,不是像Statement那样使用字符串拼接的方式。
PreparedStatement的优点:
1、其使用参数设置,可读性好,不易记错。在statement中使用字符串拼接,可读性和维护性比较差。
2、其具有预编译机制,性能比statement更快。
3、其能够有效防止SQL注入攻击。
execute和executeUpdate的区别
相同点:二者都能够执行增加、删除、修改等操作。
不同点:
1、execute可以执行查询语句,然后通过getResult把结果取出来。executeUpdate不能执行查询语句。
2、execute返回Boolean类型,true表示执行的是查询语句,false表示执行的insert、delete、update等。executeUpdate的返回值是int,表示有多少条数据受到了影响。