步骤:
1.下载对应版本的驱动包
2.在项目中引入mysql的数据库驱动包
3.开始编码[天龙八部]
4.使用Statement对象
5.使用PreparedStatement预编译对象
天龙八部:
1)装载驱动
2)获得连接
3)定义SQL
4)获得编译对象[预编译对象/参数赋值]
5)执行SQL
6)处理结果
7)关闭资源
查询数据库的数据(编译对象):
public static void selectData() {
try {
//1、装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//3.定义账号和密码
String user="root";
String password="123456";
//4.获得连接对象
Connection con=DriverManager.getConnection(url, user, password);
//5.定义sql语句
String sql="select * from emp";
//6.获得sql 语句的编译对象
Statement st=con.createStatement();
//7.编译并执行sql,如果是查询语句,则返回结果集
ResultSet rs=st.executeQuery(sql);
//如果结果集中有数据,则依次取出
while(rs.next()) {
int empno=rs.getInt("empno");
String ename=rs.getString("ename");
String job=rs.getString("job");
System.out.println(empno+" "+ename+" "+job);
}
con.close();
rs.close();
con=null;
rs=null;
} catch (Exception e) {
e.printStackTrace();
}
}
查询数据库的数据(预编译对象):
public static void selectData1(String userName,String userPwd) {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号密码
String user ="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="select * from user where userName=? and userPwd=?";
//获取预编译对象
PreparedStatement ps=cn.prepareStatement(sql);
//设置sql语句中参数的值
ps.setString(1, userName);
ps.setString(2, userPwd);
//执行SQL语句
ResultSet rs=ps.executeQuery();
if(rs.next()) {
System.out.println("查看表中有这个数据");
}else {
System.out.println("表中没有这个数据");
}
//关闭连接,释放资源
cn.close();
rs.close();
cn=null;
rs=null;
} catch (Exception e) {
e.printStackTrace();
}
}
修改数据库的数据(编译对象):
public static void updataData() {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号密码
String user="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="update emp set sal=1000 where empno=7369";
//获得sql的编译对象
Statement st=cn.createStatement();
//编译sql语句
int t=st.executeUpdate(sql);
if(t==1) {
System.out.println("修改数据成功");
}else {
System.out.println("修改数据失败");
}
//关闭连接,释放资源
cn.close();
} catch (Exception e) {
e.printStackTrace();
}
//
}
修改数据库的数据(预编译对象):
public static void updataData1(String userPwd) {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号密码
String user="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="update user set userPwd =? where userName='lisi'";
//获取预编译对象
PreparedStatement ps=cn.prepareStatement(sql);
//设置sql语句中参数的值
// ps.setString(1, userName);
ps.setString(1, userPwd);
//执行sql语句
int t=ps.executeUpdate();
if(t==1) {
System.out.println("更改数据成功");
}else {
System.out.println("更改数据失败");
}
//关闭连接,释放资源
cn.close();
cn=null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
};
向数据库里增加数据(编译对象):
public static void addData() {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号和密码
String user="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="insert into emp values(6666,'xiaoxuhui','manager',null,'1996-10-15',15000,null,10)";
//定义sql语句编译对象
Statement st=cn.createStatement();
//编译执行sql语句
int t=st.executeUpdate(sql);
if(t==1) {
System.out.println("插入数据成功");
}else {
System.out.println("插入数据失败");
}
//关闭连接,释放资源
cn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
向数据库里增加数据(预编译对象):
public static void addData1(String userName,String userPwd) {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号和密码
String user="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="insert into user(userName,userPwd) values(?,?)";
//获取预编译对象
PreparedStatement ps=cn.prepareStatement(sql);
//设置SQL语句参数的值
ps.setString(1, userName);
ps.setString(2, userPwd);
//执行sql语句
int t=ps.executeUpdate();
if(t==1) {
System.out.println("插入数据成功");
}else {
System.out.println("插入数据失败");
}
//关闭连接,释放资源
cn.close();
cn=null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
删除数据库的数据(编译对象):
public static void deleteData() {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号和密码
String user ="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="delete from emp where empno=6666";
//获取SQL语句的编译对象
Statement st=cn.createStatement();
//执行编译sql语句
int t=st.executeUpdate(sql);
if(t==1) {
System.out.println("删除数据成功");
}else {
System.out.println("删除数据失败");
}
//关闭连接,释放资源
cn.close();
cn=null;
} catch (Exception e) {
e.printStackTrace();
}
}
删除数据库的数据(预编译对象):
public static void deleteData1(String userName,String userPwd) {
try {
//装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//定义账号和密码
String user="root";
String password="123456";
//获取连接对象
Connection cn=DriverManager.getConnection(url, user, password);
//定义sql语句
String sql="delete from user where userName=?and userPwd=?";
//获取预编译对象
PreparedStatement ps=cn.prepareStatement(sql);
//设置sql语句中参数的值
ps.setString(1, userName);
ps.setString(2, userPwd);
//执行sql语句
int t=ps.executeUpdate();
if(t==1) {
System.out.println("删除数据成功");
}else {
System.out.println("删除数据失败");
}
//关闭连接,释放资源
cn.close();
cn=null;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.cji.mydb;
import java.sql.Connection;
import java.sql.DriverManager;
/**
*
* 单例模式:类的单例
* 类属性和成员属性的区别
* @author Admin
*
*/
public class DBUtil {
//定义类属性
// 懒汉模式
private static DBUtil dbutil=null;
//饿汉模式
// private static DBUtil dbutil=new DBUtil();
private Connection con;
//私有化本类的构造方法
private DBUtil() {
}
//定义一个类方法返回本类的对象
public static DBUtil getinstance() {
if(dbutil==null) {
dbutil=new DBUtil();
}
return dbutil;
}
//定义一个方法返回connection对象
public Connection getconnection() throws Exception {
if(con==null) {
//1、装载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.定义连接url
String url="jdbc:mysql://localhost:3306/stus?serverTimezone=UTC&characterEncoding=utf-8";
//3.定义账号和密码
String user="root";
String password="123456";
//4.获得连接对象
con=DriverManager.getConnection(url, user, password);
}
return con;
}
}