内容简介:解释上面两幅图:java应用程序通过JDBC API首先连接到JDBC Driver,这些JDBC驱动器都是由各大数据库厂家针对JDBC提供的,我们可以在网上下载jar包来使用,然后通过JDBC驱动器就能连接到我们的数据库了。
JDBC
是用于在 Java
语言编程中与数据库连接的 API
. JDBC
是一个规范,它提供了一整套接口,允许以一种可移植的访问底层数据库 API
。使用 JDBC驱动程序
来访问数据库,并用于存储数据到数据库中.
解释上面两幅图:
java应用程序通过JDBC API首先连接到JDBC Driver,这些JDBC驱动器都是由各大数据库厂家针对JDBC提供的,我们可以在网上下载jar包来使用,然后通过JDBC驱动器就能连接到我们的数据库了。
第一步 添加驱动
1.在项目当中创建一个文件夹为lib 2.把 Mysql 驱动包复制到该文件夹下 3.builder path 编译路径 复制代码
第二步 连接到数据库
package con.meils.jdbc.conn; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionClass { public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub // 1、加载驱动 // 把com.mysql.jdbc.Driver这份字节码加载进JVM // 当一份字节码加载进JVM的时候,就会执行字节码文件中的静态代码块 // 这里加载该字节码之后会实例化一个驱动器 Class.forName("com.mysql.jdbc.Driver"); // 2、连接 String url = "jdbc:mysql://localhost:3306/mytest"; String username = "root"; String password = "zjj19970517"; Connection connection = DriverManager.getConnection(url, username, password); // 3、验证连接 System.out.println(connection); // 如果有输出,表明连接成功 } } 复制代码
第三步 操作数据库创建表
package con.meils.jdbc.ddl; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class CreateTable { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub // 1\加载驱动 // 把com.mysql.jdbc.Driver这份字节码加载进JVM // 当一份字节码加载进JVM的时候,就会执行字节码文件中的静态代码块 // 这里加载该字节码之后会实例化一个驱动器 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/jdbc_db"; String username = "root"; String password = "zjj19970517"; // 2\ 连接数据库 Connection connection = DriverManager.getConnection(url, username, password); // 3\创建 sql 语句 String sql = "create table stu (id int , name varchar(20), age int)"; // 4\执行sql语句 Statement st = connection.createStatement(); int row = st.executeUpdate(sql); // 5\释放 st.close(); connection.close(); } } 复制代码
为什么要释放资源呢?
第四步 插入数据
package con.meils.jdbc.dml; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class InsertClass { public static void main(String[] args) { // TODO Auto-generated method stub // ================ 插入数据 ================ Connection conn = null; Statement st = null; try { // 1、加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2、创建连接 String url = "jdbc:mysql://localhost:3306/mytest"; String user = "root"; String password = "zjj19970517"; conn = DriverManager.getConnection(url, user, password); // 3、创建sql语句 String sql = "insert into stu values(1, 'zjj', 20)"; st = conn.createStatement(); // 4、执行语句 int row = st.executeUpdate(sql); System.out.println(row); }catch (Exception e) { e.printStackTrace(); } finally { // 5、释放 if(st!=null) { try { st.close(); }catch (Exception e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); }catch (Exception e) { e.printStackTrace(); } } } } } 复制代码
第五步 查询操作
package con.meils.jdbc.dql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class QueryClass { public static void main(String[] args) throws SQLException, ClassNotFoundException { // TODO Auto-generated method stub // ================ 查询数据 ================ // 1\加载驱动 // 把com.mysql.jdbc.Driver这份字节码加载进JVM // 当一份字节码加载进JVM的时候,就会执行字节码文件中的静态代码块 // 这里加载该字节码之后会实例化一个驱动器 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mytest"; String username = "root"; String password = "zjj19970517"; // 2\ 连接数据库 Connection connection = DriverManager.getConnection(url, username, password); // 3\创建sql语句 String sql = "select count(*) as total from stu"; // 查询一共有几行数据 // 4\执行sql语句 Statement st = connection.createStatement(); ResultSet rs = st.executeQuery(sql); if(rs.next()) { int count = rs.getInt("total"); System.out.println(count); // 1 } // 5\释放 st.close(); connection.close(); } } 复制代码
数据类型对照表:
上面我们基本学会了如何与数据库打交道,但是这样使用存在许多的弊端,比如:每一步操作都进行一次数据库连接,造成浪费,所以我们在实际中要使用DAO思想来处理。
二、DAO设计
1、什么是DAO
DAO(Data Access Object)数据存储对象,介于业务逻辑层和持久层之间,实现持久化数据访问。
不使用DAO的时候:
使用DAO的情况:
三、ORM映射关系
四、Domain
1、认识domain
2、domain类
3、保存数据
4、获取数据
五、DAO设计规范
案例
我们可以编写一个DAO接口,定义了常用的数据库操作方法,这时候我们同时会连接多个数据库,比如是mysql 和 oracle ,我们可以分别实现oracleDao和mysqlDao两个类,不同类里面定义不同的操作数据库的代码,实现的功能确实相同的。
所以面向接口编程是很重要的,也是一个很好的方式。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Java 之 JDBC
- Java 数据持久化系列之 JDBC
- Java之JDBC 通过加载properties配置文件连接数据库
- Apache Phoenix:HBase之上的SQL工具[3]:快速入门之Java API(JDBC)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Programming in Java
Robert Sedgewick、Kevin Wayne / Addison-Wesley / 2007-7-27 / USD 89.00
By emphasizing the application of computer programming not only in success stories in the software industry but also in familiar scenarios in physical and biological science, engineering, and appli......一起来看看 《Introduction to Programming in Java》 这本书的介绍吧!