学习总结-JDBC连接MySQL数据库,实现增删改查
JDBC连接MySQL数据库
1. 导⼊jar包,根据安装的MySQL版本,选择导⼊不同版本的jar包,常⽤的有MySQL5的jar:mysql-connector-java-5.1.7-bin.jar。
可以根据⾃⼰安装的MySQL版本到Maven仓库中下载。
2. 加载驱动,⼀般的⽅法是Class.forNam(“sql.jdbc.Driver”);这是5版本的连接⽅式,如果是更⾼版本的话,可能需要将
字符串改成"sql.cj.jdbc.Driver"。
3. 获取连接对象,使⽤静态类DriverManager的getConnection(url, user, password)⽅法获得Connection连接对象,其中,url的
为"jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8";如果更⾼版本可能需要设置时区,如url =
“jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8&serverTimezone=GMT”.
4. 获取数据库操作对象,使⽤连接对象的⽅法获得preparedStatement 对象。
5. 执⾏SQL语句并获得结果集ResultSet,查询执⾏的⽅法为executeQuery(),增删改执⾏的⽅法为executeUpdate()。
6. 关闭连接。
使⽤JDBC实现对MySQL的增删改查
查询数据
Connection conn = null;
PreparedStatement pstt = null;
ResultSet rs = null;
try{
//1.加载驱动
Class.forName("sql.cj.jdbc.Driver");
//2.管理驱动并获取Connection连接
String url ="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=GMT"; String user ="root";
String password ="123456";
conn = Connection(url, user, password);
//3.通过Connection获取PrepareStatement对象
String sql ="select * from dept limit 0,3";
pstt = conn.prepareStatement(sql);
//4.执⾏SQL语句得到结果集resultSet
rs = uteQuery();//executeQuery() ⽤于查询
()){
//(1)按编号获取第⼏列的数据
System.out.println("(1)"+ rs.getInt(1)+" "
+ rs.getString(2)+" "
+ rs.getString(3));
//(2)按列的名称获取指定列的数据,列的名称是逻辑表的名称
System.out.println("(2)"+ rs.getInt("deptno")+" "
+ rs.getString("dname")+" "
+ rs.getString("loc"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
/
/5.关闭接⼝
try{
if(rs != null){
rs.close();
}
if(pstt != null){
pstt.close();
}
if(conn != null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
增删改数据
Connection conn = null;
PreparedStatement pstt = null;
try{
Class.forName("sql.cj.jdbc.Driver");
String url ="jdbc:mysql://localhost:3306/test?serverTimezone=GMT&characterEncoding=utf-8"; String user ="root";
String password ="123456";
conn = Connection(url, user, password);
mysql下载jar包//增删改SQL
//? 表⽰占位符,防⽌SQL注⼊,在预编译后通过pstt对象给对应的占位符赋值
String sql1 ="insert into user values(?, ?, ?, ?)";
String sql2 ="update user set password = ? where uid = ?";
String sql3 ="delete from user where uid = ?";
pstt = conn.prepareStatement(sql3);
//增
// pstt.setInt(1, 1);
// pstt.setString(2, "xiaohu");
// pstt.setString(3, "123");
// pstt.setInt(4, 1);
//改
// pstt.setString(1, "456");
// pstt.setInt(2, 1);
//删
pstt.setInt(1,1);
int i = uteUpdate();
System.out.println("更新了"+ i +"条数据");
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(pstt != null){
pstt.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论