【JDBC】PreparedStatement操作数据库 比眉伴天荒 2021-09-24 14:12 486阅读 0赞 建个user表测试 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `name` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; 相关操作 package xyz.hashdog.jdbc; import org.junit.Before; import org.junit.Test; import java.sql.*; /** * 使用PreparedStatement来做数据库的操作 */ public class PreparedStatementTest { Connection connection; @Before public void conn() throws ClassNotFoundException, SQLException { //1.提供基本信息 String url = "jdbc:mysql://localhost:3306/st-jdbc"; String user = "root"; String password = "hasodog2019"; //2.获取Driver实现类 Class.forName("com.mysql.jdbc.Driver"); //获取连接 connection = DriverManager.getConnection(url, user, password); System.out.println(connection); } /** * 向user表添加一条记录 */ @Test public void insert() throws SQLException { //1.获得连接 System.out.println(connection); //2.预编译sql,返回PreparedStatement的实例 String sql = "insert into user(name,password)value(?,?)"; PreparedStatement ps = connection.prepareStatement(sql); //3.填充 ps.setString(1,"小米"); ps.setString(2,"xiaomi"); //4.执行 ps.execute(); //5.关闭资源 ps.close(); connection.close(); } /** * 修改一条数据 */ @Test public void update() throws SQLException { //1.获得连接 System.out.println(connection); connection.setAutoCommit(false); connection.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); //2.预编译sql,返回PreparedStatement的实例 String sql = "update user set name=?,password=? where id=?"; PreparedStatement ps = connection.prepareStatement(sql); //3.填充 ps.setString(1,"大米"); ps.setString(2,"dami"); ps.setInt(3,1); //4.执行 int i = ps.executeUpdate(); System.out.println(i); connection.commit(); // connection.rollback(); //5.关闭资源 ps.close(); connection.close(); } @Test public void select() throws SQLException { //1.获得连接 System.out.println(connection); //2.预编译sql,返回PreparedStatement的实例 String sql = "select * from user where id>=?"; PreparedStatement ps = connection.prepareStatement(sql); //3.填充 ps.setInt(1,1); //4.执行,返回结果集 ResultSet resultSet = ps.executeQuery(); //获取结果集的元数据 ResultSetMetaData metaData = resultSet.getMetaData(); //获得结果集字段数 int columnCount = metaData.getColumnCount(); System.out.println(columnCount); //返回true,证明有数据,指针下移 while (resultSet.next()){ //通过结果集元数据,遍历获取各字段值 for (int i = 0; i < columnCount; i++) { Object object = resultSet.getObject(i + 1); } //单个字段h获取,获取当前指针行的各个字段 String name = resultSet.getString(1); String password = resultSet.getString(2); Integer id = resultSet.getInt(3); } //5.关闭资源 ps.close(); connection.close(); } }
相关 数据库操作 连接数据库 要访问数据库,首先要加载数据库的驱动程序,然后每次访问时创建一个Connection对象,接着执行SQL语句,最后在完成数据库操作后销毁前面创建的Connec ╰+攻爆jí腚メ/ 2023年07月19日 05:00/ 0 赞/ 32 阅读
相关 操作数据库 JDBC不仅可以执行数据库查询,还可以执行DDL、DML等SQL语句,以便最大限度地操作数据库。 execute()方法 Statement接口的execute() 浅浅的花香味﹌/ 2023年07月10日 12:50/ 0 赞/ 10 阅读
相关 hbase数据库scan操作_hbase数据库操作 2.请编程实现以下功能: (1) createTable(String tableName, String\[\] fields) 创建表,参数 tableName 为表的 青旅半醒/ 2023年01月01日 05:49/ 0 赞/ 216 阅读
相关 MySQL数据库操作补坑(二)操作数据库 文章目录 操作数据库 创建数据库 删除数据库 数据库存储引擎 0)、MySQL存储引擎简介 男娘i/ 2022年11月20日 09:41/ 0 赞/ 239 阅读
相关 数据库操作 数据库操作 1.数据库修改字段属性 如将user\_table表中的user\_name字段长度修改为varchar(100). (1)mysql中修改语句 红太狼/ 2022年08月18日 15:10/ 0 赞/ 276 阅读
相关 数据库操作 select \ from acscon\_realnode where addr='100-30\1-2' \--获取保持数据总数 select count(i 叁歲伎倆/ 2022年07月13日 12:46/ 0 赞/ 245 阅读
相关 数据库—操作 Create Table Student( sno char(10) not null, sname varchar(20), sage sma 深藏阁楼爱情的钟/ 2022年06月14日 05:22/ 0 赞/ 261 阅读
相关 数据库操作 配置配置文件 建表利用jpa特性 增删改查 配置配置文件 <dependency> <groupId>org.springfr 红太狼/ 2022年06月05日 09:38/ 0 赞/ 266 阅读
相关 数据库操作 查看数据库 1 -- (推荐使用大写) 2 SHOW DATABASES; 3 -- show databases; 创建数据库 妖狐艹你老母/ 2021年12月20日 10:53/ 0 赞/ 415 阅读
相关 数据库操作 2.2. Mongoose的操作流程(重点中的重点) 2.2.1. 安装mongoose npm install mongoose 2.2.2. 连接数据库 使 阳光穿透心脏的1/2处/ 2021年10月01日 06:02/ 0 赞/ 484 阅读
还没有评论,来说两句吧...