Java语言入门(十五)——JDBC
发布日期:2022-02-28 07:22:50
浏览次数:44
分类:技术文章
本文共 4358 字,大约阅读时间需要 14 分钟。
Java语言入门
JDBC
- JDBC(Java DataBase Connectivity)
- java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC是面向关系型数据库的,也是Sun Microsystems的商标。
- 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
- 使用JDBC操作数据库之前,首先要有一个数据库。
MySQL安装配置和基础学习
- https://www.mysql.com/,下载安装MySQL。
- 打开MySQL:mysql –u用户名 –p密码(注意:“-p”和“123” 之间不能有空格) C:>mysql -uroot -proot
- 查看数据库:mysql>show databases;
- 创建数据库:mysql>create database huang;
- 切换数据库:mysql>use huang;
- 查看表:mysql>show tables;
- 创建表: mysql> create table guo( -> id int(8) not null primary key auto_increment, -> name varchar(20), -> age int(10) -> );
- 插入数据 mysql> insert into guo(name,age) values(“quan”,30);
- 查询数据 mysql> select * from guo;
- 删除数据 mysql> delete from guo where id=1;
- 退出 MySQL:mysql>quit(或者exit)
- 用文本方式将数据装入数据表中: mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;
- 导入.sql文件命令: mysql> USE 数据库名; mysql> SOURCE d:/mysql.sql;
- mysql -h 10.81.40.69 -uroot -proot (IPv4地址) 使用TCP/IP连接, mysql server 认为该连接来自于127.0.0.1或者是”localhost.localdomain”。
- mysql -h localhost -uroot –proot 是不使用TCP/IP连接的,而使用Unix socket; 此时,mysql server则认为该client是来自”localhost”。
- mysql -h localhost -P 3306 -uroot –proot
- 修改密码: mysqladmin -u用户名 -p旧密码 password 新密码
- 增加新用户: grant select on 数据库.* to 用户名@登录主机 identified by “密码” 例:GRANT ALL ON . TO ‘cat’@’%’ with grant option; GRANT SELECT, INSERT ON huang.guo TO ‘cat’@’%’;
导入jar包
- 使用JDBC需要在工程中导入对应的jar包。数据库与JDBC包的对应关系可以参考各种数据库对应的jar包、驱动类名和URL格式。
- 在Eclipse下的导入方法:在工程的图标上右击,选择”Properties”,在”Java Bulid Path”中选择”Add External JARs…”,选择下载并解压后获得的jar包。
- 以MySQL为例: mysql-connector-java-5.1.42-bin.jar
JDBC基本使用
步骤:
- 加载对应驱动;
- 连接数据库(创建Connection对象);
- 传入SQL命令,获得PreparedStatement(或Statement)对象;
- 对PreparedStatement(或Statement)对象执行executeUpdate()或executeQurey()获得结果;
- 关闭数据库(关闭Connection对象)。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Testjdbc { public static void main(String[] args) throws Exception { //1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); //new com.mysql.jdbc.Driver();也可以直接new,但需要自己写异常处理 //2.连接数据库 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/huang", "root", "root"); System.out.println(conn); //3.操作数据库 String sql = "select * from hu"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int id=rs.getInt(1); String name=rs.getString(2); int age=rs.getInt(3); System.out.println(id+":"+name+":"+age); } //4.关闭数据库 conn.close(); }}
导入包
- import java.sql.Connection;//接口
- import java.sql.DriverManager;//类
- import java.sql.ResultSet;//接口
- import java.sql.Statement;//接口
- import java.sql.SQLException;//类
- import java.sql.PreparedStatement;//接口
常用方法
常用方法-1
- public interface Connection extends Wrapper 与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
- void close() 立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。
- Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
常用方法-2
- PreparedStatement prepareStatement(String sql) 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
- public class DriverManager extends Object 管理一组 JDBC 驱动程序的基本服务。
- static Connection getConnection(String url) 试图建立到给定数据库 URL 的连接。
常用方法-3
- public interface ResultSet extends Wrapper 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
- int getInt(int columnIndex) 以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。
- String getString(int columnIndex) 以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。
常用方法-4
- public interface Statement extends Wrapper 用于执行静态 SQL 语句并返回它所生成结果的对象。
- boolean execute(String sql) 执行给定的 SQL 语句,该语句可能返回多个结果。
- ResultSet executeQuery(String sql) 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
常用方法-5
- public class SQLException extends Exception implements Iterable 提供关于数据库访问错误或其他错误信息的异常。
- public interface PreparedStatement extends Statement 表示预编译的 SQL 语句的对象。SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
常用方法-6
- void setInt(int parameterIndex, int x) 将指定参数设置为给定 Java int 值。
- void setString(int parameterIndex, String x) 将指定参数设置为给定 Java String 值。
- int executeUpdate() 在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句。
封装JDBC工具类
DAO模式简述
- DAO即Data Access Object,数据访问接口。夹在业务逻辑与数据库资源中间。
- DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式。Data Accessor 模式实现了数据访问和业务逻辑的分离;Active Domain Object 模式实现了业务数据的对象化封装。
- DAO设计模式提供了一种通用的模式,来简化大量的代码,增强程序的可移植性。
DAO设计模式
- 保证与数据库正确的连接
- 必须要有javabean(或领域模型domain)
- DAO接口(方法)
- 实现DAO接口的具体类(具体操作)
- 测试
转载地址:https://blog.csdn.net/weixin_45854582/article/details/106319733 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月07日 14时22分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
bash学习笔记
2019-04-27
sqlite学习
2019-04-27
手把手教你实现Unity与Android的交互
2019-04-27
手把手教你使用Unity的Behavior Designer
2019-04-27
Unity3D摄像机裁剪——NGUI篇
2019-04-27
lua深拷贝一个table
2019-04-27
app运行提示Unable to Initialize Unity Engine
2019-04-27
spring boot 与 Ant Design of Vue 实现修改按钮(十七)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除按钮(十八)
2019-04-27
spring boot 与 Ant Design of Vue 实现新增角色(二十)
2019-04-27
spring boot 与 Ant Design of Vue 实现修改角色(二十一)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除角色(补二十一)
2019-04-27
spring boot 与 Ant Design of Vue 实现左侧组织树(二十三)
2019-04-27
spring boot 与 Ant Design of Vue 实现新增组织(二十四)
2019-04-27
spring boot 与 Ant Design of Vue 实现修改组织(二十五)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除组织(二十六)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除用户(三十)
2019-04-27