内容简介:解释上面两幅图: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)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTTP
David Gourley、Brian Totty、Marjorie Sayer、Anshu Aggarwal、Sailu Reddy / O'Reilly Media / 2002-10-7 / USD 54.99
Product Description Web technology has become the foundation for all sorts of critical networked applications and far-reaching methods of data exchange, and beneath it all is a fundamental protocol......一起来看看 《HTTP》 这本书的介绍吧!