黑马day10 jdbc入门&mysql
来源:互联网 发布:stm8单片机自学笔记pdf 编辑:程序博客网 时间:2024/05/01 13:49
JDBC的定义:JDBC就是sun公式定义的一类接口,可以供mysql,oracle等公司实现接口。
需要导入mysql的jar包
实现JDBC的步骤:
1.注册数据库驱动
2.获取数据库连接(可以把他想象成一个高速公路)
3.获取传输器对象(把他想象成一个高速公路行驶的汽车)
4.利用传输器传输sql语句到数据库宗执行,获取结果集
5.遍历结果集
6.关闭资源(先创建的后关闭,后创建的先关闭)
案例一:
在数据库中创建数据库:
create database day10;
use day10;
create table user(
id int primary key auto_increment;
gender bit;
name varchar(40),
date date
);
JDBCDemo1:
需要导入mysql的jar包
实现JDBC的步骤:
1.注册数据库驱动
2.获取数据库连接(可以把他想象成一个高速公路)
3.获取传输器对象(把他想象成一个高速公路行驶的汽车)
4.利用传输器传输sql语句到数据库宗执行,获取结果集
5.遍历结果集
6.关闭资源(先创建的后关闭,后创建的先关闭)
案例一:
在数据库中创建数据库:
create database day10;
use day10;
create table user(
id int primary key auto_increment;
gender bit;
name varchar(40),
date date
);
JDBCDemo1:
package cn.itheima.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.mysql.jdbc.Driver;public class JDBCDemo1 {public static void main(String[] args) throws Exception {//1.注册驱动(其实这里注册了两次)DriverManager.registerDriver(new Driver());//2.获取数据库的连接Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "169500");//3.获取传输对象Statement statement = con.createStatement();//4.得到结果集ResultSet rs = statement.executeQuery("select * from user");//5.遍历结果集while(rs.next()){String name = rs.getString("name");byte gender = rs.getByte("gender");System.out.println(name+":"+gender);}//6.关闭资源rs.close();statement.close();con.close();}}
缺点:
其实一共注册了两次驱动,可以看driver的源码注册一次,我们人工的注册了一次。
关闭资源不合理。
JDBCDemo2:
package cn.itheima.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBCDemo2 {public static void main(String[] args) {Connection con=null;Statement sta=null;ResultSet rs=null;try{//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接con= DriverManager.getConnection("jdbc:mysql://localhost:3306/day10", "root", "169500");//3.获取传输对象sta=con.createStatement();//4.结果集rs=sta.executeQuery("select * from user");//5.遍历结果集while(rs.next()){String name=rs.getString("name");System.out.println(name);}}catch (Exception e) {e.getMessage();}finally{if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}finally{rs=null;}}if(sta!=null){try {sta.close();} catch (SQLException e) {e.printStackTrace();}finally{sta=null;}}if(con!=null){try {con.close();} catch (SQLException e) {e.printStackTrace();}finally{con=null;}}}}}缺点:代码冗余,因此最后写一个工具类。
运行结果:
1 0
- 黑马day10 jdbc入门&mysql
- 【jdbc入门】_黑马day10听课笔记
- 黑马day10 jdbc抽取工具类
- 黑马day10 增加&删除&更新到数据库mysql
- day10—JDBC
- Day10-JDBC基础
- 黑马程序员-day10异常
- mysql jdbc入门学习
- JDBC连接MySql入门
- JDBC之mysql入门
- 黑马程序员——day10
- 黑马程序员_java基础day10
- 黑马程序员--Java基础Day10
- jdbc连接mysql入门程序
- 黑马程序员-----java入门一DAY10------类的设计分析 面向对象多态 构造代码块
- day10
- day10
- day10
- Poj 3259 Wormholes(bellman_ford判负环)
- BMP和颜色的关系总结
- 大学生活即将结束,总结过去的两年。
- 黑马程序员---Java中常见的排序
- Erlang Programming ezwebframe从操作系统安装到运行
- 黑马day10 jdbc入门&mysql
- 秒杀多线程第一篇 多线程笔试面试题汇总
- 抓包工具------wireshark学习篇:2
- 六月
- Python学习笔记 - 切片
- 黑马程序员---ArrayList、Vector、LinkedList的区别及其优缺点?
- hibernanet问题
- liunx查看线程的方法
- 新生入学——3.0总结