标签:jdbc String rs 数据库 Driver 六部 JDBC mysql
JDBC六步曲(以jdbc8.x为例)
第一步:导包
- 导包:在工程里创建一个文件夹lib,将mysql-connector-java.jar复制粘贴到当前工程的lib文件夹内。点开lib目录,鼠标右击MySQL压缩包,点击As library,点击OK就可以了。
第二步:加载驱动类
- 加载驱动类:
//2.加载驱动类
String className = "com.mysql.cj.jdbc.Driver";
Class.forName(className);
知识点:
有5种方式可以加载驱动类
第一种:Class.forName(className);
第二种:DriverManager.registerDriver(new Driver());
第三种:new Driver();
第四种:System.setProperty(“jdbc.driver”,”com.mysql.cj.jdbc.Driver”);
第五中:可以不写,但是性能不高。
第三步:获取连接
- 获取连接:
//3.获取连接
String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC";
/**这是个固定格式。"jdbc:数据库名://ip地址:端口号/数据库名?serverTimezone=UTC"*/
//mysql表示MySQL数据库,如果是Oracle数据库就改为oracle。
String user = "root";//表示数据库
String password = "123456";//数据库密码
Connection conn = DriverManager.getConnection(url,user,password);
第四步:创建状态参数
- 创建状态参数:
//4.创建状态参数
Statement state = conn.createStatement();
第五步: 执行数据库操作
- 执行数据库操作:
//5.执行数据库操作
String sql = "select * from test where age='19'";//查询
ResultSet rs = state.executeQuery(sql);//调用查询的方法
//state.executeUpdate();//insert delete update 都调用这个方法
while (rs.next()){//判断是否有下一行
String name = rs.getString("name");
String sex = rs.getString("sex");
String age = rs.getString("age");
String address = rs.getString("address");
System.out.println(name+"--"+sex+"--"+age+"--"+address);
}
知识点:
1)执行executeQuery();//查询语句的方法
2)执行executeUpdate();//增删改语句的方法
返回值是ResultSet类型,本质类似于Set<Map<String,Object>>:比如查询一条语句,将列名作为key,列名可以默认为String类型。查询所得的值作为value,value可以是多种类型的,因而用object存储。如果查询多条语句,则需要多个map集合,而多个map集合用set集合存储,可用迭代器来获取。
补充:
rs.getXXX(列的序号int–从开始);
rs.getXXX(“列名字”);
rs.getString();//可以接收任何一个列的值,什么类型都可以
rs.getInt();//不能接收其他类型,比如String
第六步:关闭流
- 关闭流:先连接的后关(倒着关闭)
//6.关闭流
rs.close();
state.close();
conn.close();
补充:jdbc驱动包的不同版本使用的不同区别
JDBC驱动包5.x 1)加载驱动类:”com.mysql.jdbc.Driver”
2)获取连接 url—>jdbc:mysql://ip:port/databases名
JDBC驱动包8.x 1)加载驱动类:”com.mysql.cj.jdbc.Driver”
2)获取连接 url—>jdbc:mysql://ip:port/databases名?serverTimezone=UTC
留言:到这里 JDBC基本的知识 就总结完毕了,想要学习更多的伙伴可以查看博主主页哦 ~
标签:jdbc,String,rs,数据库,Driver,六部,JDBC,mysql 来源: https://blog.csdn.net/qq_47471385/article/details/113197995
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。