1.jdbc连接数据库基本步骤
1.加载驱动 mysql驱动
Class.forName(“com.mysql.jdbc.Driver”);
2.建立连接 数据库IP、端口、用户名、密码、库名
String url=“jdbc:mysql://ip:端口号/库名?useSSL=true”;
Connection conn=DriverManager.getConnection(url,username,password);
3.创建Statement语句
Statement stmt=conn.createStatement();
4.执行sql
stmt.execute(sql);
int i=STEMT.executeUpdate(sql);
ResultSet rs=stmt.executeQuery(sql);
5.处理结果集
while(){
}
6.释放资源
stmt.close();
conn.close();
2.完成常见的增删改查
executeUpdate
executeQuery
execute
3.Statement与PreparedStatement语句的区别?
Statement语句的弊端
拼接sql复杂 String sql=“select * from student where ssex=’”+sex+"’";
安全性问题:可遭到注入攻击 List=dao.fingBySex(“男’ or ‘1’=‘1’”);
PreparedStatement语句的优势
不需要拼接sql
防止注入攻击
预编译,提高sql执行效率
4.返回自增主键
//第一个参数 sql
//第二个参数 常量 为了返回自增主键
stmt=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
或
stmt=conn.preparedStatement(sql,1);
stmt=conn,preparedStatement(sql,1);
ResultSet rs=stmt.getGenerateKey();//一行一列
if(rs.next()){
int id=rs.getInt(1);
}
5.事务操作
try{
conn.setAutoCommit(false);
dml;
dml;
conn.commit();
}catch(){
conn.rollback();
}