JDBC编程-连接数据库到对数据库进行增删改查
Posted a box of Sweets
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC编程-连接数据库到对数据库进行增删改查相关的知识,希望对你有一定的参考价值。
一、JDBC编程步骤:
1.加载数据库驱动
2.获得数据库连接
3.通过Connection实例获取Statement对象
4.使用Statement实例执行SQL语句
5.处理ResultRest结果集
6.回收数据库资源
二、具体代码书写
1、【准备】驱动文件(jar包)引入
(2)项目中手动加入jar包,并且加入classpath下
--- 下载好的jar复制到lib文件夹下,没有就自己创建
---右键 buildpath--> add to build path
--- 完成
2.加载数据库驱动
语法:Class.forName(“com.mysql.jdbc.Driver”);
public class DBConnection {
private static final String url = "jdbc:mysql://localhost:3306/db_java";//数据库路径
private static final String user = "root";//用户名
private static final String pwd = "12345678";//密码
private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驱动类
// 1、加载驱动包
static {
// 捕捉异常
try {
Class.forName(DriverUrl);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.获得数据库连接
语法:Connection conn = DriverManager.getConnection(url, user, pwd);
url:数据库路径
user,用户名
pwd 密码
// 2、连接数据库
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
连接测试结果如下:
测试类看完整代码
完整代码:
/**
* @author weijiangzhu 使用jdbc操作数据库的步骤
* 1、加载驱动包
* 2、连接数据库
* 3、prepareStatement执行sql语句
* 4、关闭相应资源
*
*/
public class DBConnection {
private static final String url = "jdbc:mysql://localhost:3306/db_java";//数据库路径
private static final String user = "root";//用户名
private static final String pwd = "12345678";//密码
private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驱动类
// 1、加载驱动包
static {
// 捕捉异常
try {
Class.forName(DriverUrl);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 2、连接数据库
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
// 测试
public static void main(String[] args) {
Connection conn = DBConnection.getConn();
System.out.println("连接:" + conn);
}
}
加载连接常见错误
4.增删改【使用的是同一个执行方法,在这里以插入为例】
插入语句:insert into db_emp values(
'no001','藏三','2004-5-6','南宁','总经理'
);
为例子
/**
* 插入
* @param args
* 1、准备号sql语句:insert into db_emp values(
?,?,?,?,?);
2、使用conn获取prepareStatement对象,预处理sql
3、给?赋值
4、执行sql: updateExecuted()
* @throws SQLException
*/
public static boolean insert(Emp emp) {//传入的是实体类的对象
// insert into db_emp values(
// 'no001','藏三','2004-5-6','南宁','总经理'
// );
String sql ="insert into db_emp values(?,?,?,?,?)";
Connection conn = DBConnection.getConn();//调用连接的方法【在这里查看上半部分连接】
PreparedStatement pst = null;
int n = 0;
try {
pst = conn.prepareStatement(sql);
pst.setString(1, emp.getNo());
pst.setString(2, emp.getName());
pst.setString(3, emp.getBirthday());
pst.setString(4, emp.getAddress());
pst.setString(5, emp.getPosition());
// pst.setString(1, "no003");
// pst.setString(2, "藏三");
// pst.setString(3, "2004-5-6");
// pst.setString(4, "南宁");
// pst.setString(5, "总经理");
n = pst.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//关闭资源
try {
if(conn!=null) {
conn.close();
}
if(pst!=null) {
pst.cancel();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return n>0;
}
5.查询
查询使用的executeQuery()方法执行,ResultSet封装查询到的结果
以上是关于JDBC编程-连接数据库到对数据库进行增删改查的主要内容,如果未能解决你的问题,请参考以下文章
Java数据库连接——JDBC基础知识(操作数据库:增删改查)