第一个JDBC程序
2022/9/15 14:17:14
本文主要是介绍第一个JDBC程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第一个JDBC程序
创建测试数据库
CREATE DATABASE `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci; USE `jdbcStudy`; CREATE TABLE `users`( `id` INT PRIMARY KEY, `NAME` VARCHAR(40), `PASSWORD` VARCHAR(40), `email` VARCHAR(60), birthday DATE ); INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`) VALUES(1,'zhangsan','123456','zs@sina.com','1980-12-04'), (2,'lisi','123456','lisi@sina.com','1981-12-04'), (3,'wangwu','123456','wangwu@sina.com','1979-12-04')
1、创建一个普通项目
2、导入数据库驱动
3、编写测试代码
package com.hua.lessons; import java.sql.*; //我的第一个jdbc程序 public class jdbcFirstDemo { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1、加载驱动 Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动 //2、用户信息和url //useUnicode=true&characterEncoding=utf8&useSSL=true String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true"; String useName = "root"; String password = "123456"; //3、连接成功,数据库对象 Connection代表数据库 Connection connection = DriverManager.getConnection(url, useName, password); //4、执行SQL的对象 Statement 执行sql的对象 Statement statement = connection.createStatement(); //5、执行SQL的对象 去 执行 sql,可能存在结果,查看返回结果 String sql = "select * from users"; ResultSet resultSet = statement.executeQuery(sql);//返回的结果集,结果集中封装了我们全部的查询出来的结果 while(resultSet.next()){ System.out.println("id="+resultSet.getObject("id")); System.out.println("name="+resultSet.getObject("NAME")); System.out.println("pwd="+resultSet.getObject("PASSWORD")); System.out.println("email="+resultSet.getObject("email")); System.out.println("birth="+resultSet.getObject("birthday")); System.out.println("============================"); } //6、释放连接 resultSet.close(); statement.close(); connection.close(); } }
步骤总结:
1、加载驱动
2、连接数据库 DriverManager
3、获得执行SQL的对象 Statement
4、获得返回的结果集
5、释放连接
DriverManager
//DriverManager.deregisterDriver(new com.mysql.jdbc.Driver()); Class.forName("com.mysql.jdbc.Driver");//固定写法,加载驱动 Connection connection = DriverManager.getConnection(url, useName, password); //connection 代表数据库 // 数据库设置自动提交 //事务提交 //事务回滚 connection.setAutoCommit(); connection.commit(); connection.rollback();
URL
String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=true"; //mysql -- 3306 //协议://主机地址:端口号/数据库名?参数1&参数2&参数3 //oralce -- 1521 //jdbc:oracle:thin:@localhost:1521:sid
Statement 执行SQL的对象 PrepareStatement 执行SQl的对象
String sql = "select * from users";//编写SQL statement.executeQuery(); //查询操作返回 ResultSet statement.execute(); //执行任何SQL statement.executeUpdate();// 更新、插入、删除。都是用这个,返回一个受影响的行数
ResultSet 查询的结果集:封装了所有的查询结果
获得指定的数据类型
resultSet.getObject();//在不知道列类型的情况下使用 //如果知道列类型就使用指定的类型 resultSet.getInt(); resultSet.getString(); resultSet.getFloat(); resultSet.getDouble(); resultSet.getDate();
遍历,指针
resultSet.beforeFirst(); //移动到最前面 resultSet.afterLast(); //移动到最后面 resultSet.next(); //移动到下一个数据 resultSet.previous(); //移动到前一个数据 resultSet.absolute(row); //移动到指定行
释放资源
//6、释放连接 resultSet.close(); statement.close(); connection.close();//耗资源,用完关掉!
这篇关于第一个JDBC程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享
- 2024-11-22ansible 的archive 参数是什么意思?-icode9专业技术文章分享
- 2024-11-22ansible 中怎么只用archive 排除某个目录?-icode9专业技术文章分享
- 2024-11-22exclude_path参数是什么作用?-icode9专业技术文章分享
- 2024-11-22微信开放平台第三方平台什么时候调用数据预拉取和数据周期性更新接口?-icode9专业技术文章分享
- 2024-11-22uniapp 实现聊天消息会话的列表功能怎么实现?-icode9专业技术文章分享
- 2024-11-22在Mac系统上将图片中的文字提取出来有哪些方法?-icode9专业技术文章分享
- 2024-11-22excel 表格中怎么固定一行显示不滚动?-icode9专业技术文章分享
- 2024-11-22怎么将 -rwxr-xr-x 修改为 drwxr-xr-x?-icode9专业技术文章分享
- 2024-11-22在Excel中怎么将小数向上取整到最接近的整数?-icode9专业技术文章分享