JDBC学习笔记对数据库中的数据进行增删改查
程序员文章站
2022-05-06 20:53:10
...
1. 导入jdbc.jar包,注册驱动
Class.forName("com.mysql.jdbc.Driver");
2.建立连接
Connection conn=DriverManager.getConnection(url,uername,password);
url为服务器地址
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2…
示例:jdbc:mysql://127.0.0.1:3306/db1
- 如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对
- 配置 useSSL=false 参数,禁用安全连接方式,解决警告提示
uername 为数据库用户名
password 为数据库连接密码
DriverManager.getConnection()返回一个Connection对象
用来获取SQL的执行对象 和管理事务
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db3", "root", "1234");
3.定义SQL语句
String sql="INSERT INTO student(id,ename,age,birthday) VALUES (?,?,?,?)";
4.获取执行者对象
预编译SQL的执行SQL对象:防止SQL注入
PreparedStatement pstm=Connection.prepareStatement(sql);
5.为SQL中的?赋值
pstm.setObject(参数1,参数2)
参数1为SQL语句中?的位置
参数2为要为SQL赋的值
6.执行SQL
//增删改
pstm1.executeUpdate();
//查询
pstm1.executeQuery();
增删改的SQL执行 executeUpdate(),该方法返回一个int值 表示操作成功的数据条数,如果没有数据被操作则返回0。
executeQuery()方法返回ResultSet对象
ResultSet对象保存查询到的数据 使用ResultSet.getXxx(参数) 获取数据
- Xxx为数据类型 如ResultSet.getInt(参数),ResultSet.getString(参数)
参数为String类型 是数据库中每列的列名;
默认操作获取到数据的第一行
调用ResultSet.next()方法可以向下前进一行,返回一个boolean 值 如果还有下一行就返回true 没有则返回false
一般和while集合使用
列如:
while (resultSet.next()) {
Student stu = new Student();
stu.setId(resultSet.getInt("id"));
stu.setEname(resultSet.getString("ename"));
stu.setAge(resultSet.getInt("age"));
stu.setBirthday(resultSet.getDate("birthday"));
list.add(stu);
}
7.释放资源
//查询数据才需要执行resultSet.close();
resultSet.close();
pstm1.close();
conn.close();
示例
遍历获取到的数据封装到学生对象中 添加到集合
案列 查询db3数据库中 Student表中 年龄大于20的学生信息
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取建立连接
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db3", "root", "1234");
//获取执行者对象
String showSql = "SELECT * FROM student where age>?";
PreparedStatement pstm1 = conn.prepareStatement(showSql);
//设置SQL中?的值
pstm1.setObject(1, 20);
//查询数据 条用executeQuery方法执行SQL
ResultSet resultSet = pstm1.executeQuery();
ArrayList<Student> list = new ArrayList<>();
//遍历得到的resultSet
while (resultSet.next()) {
Student stu = new Student();
stu.setId(resultSet.getInt("id"));
stu.setEname(resultSet.getString("ename"));
stu.setAge(resultSet.getInt("age"));
stu.setBirthday(resultSet.getDate("birthday"));
list.add(stu);
}
for (Student student : list) {
System.out.println(student);
}
//释放资源
resultSet.close();
pstm1.close();
conn.close();
上一篇: Nginx负载均衡配置实例详解
推荐阅读
-
ES 16 - 对Elasticsearch中的索引数据进行增删改查 (CRUD)
-
python对 MySQL 数据库进行增删改查的脚本
-
MySQL数据库学习笔记3.0对数据库表中数据的操作、DQL查询语句
-
MySQL 学习笔记二 数据库的增删改查和列类型
-
狂神Java学习笔记————MySQL(二)————外键和数据库数据的增删改查
-
Linux学习笔记--Python操作mysql数据库(封装基本的增删改查)
-
Django对数据库中的表进行增删改查
-
Django中的ORM对数据库进行增删改查
-
JDBC学习笔记对数据库中的数据进行增删改查
-
JDBC学习日记--java实现SQLServel数据库的基本增删改查操作