我是靠谱客的博主 苹果火龙果,最近开发中收集的这篇文章主要介绍使用JDBC链接MySQL数据库、如何在Java中创建事务MySQLJDBC下载与使用Java与MySQL建立链接创建一个事务Demo 自定义JDBCUtils工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
目录
MySQLJDBC下载与使用
Java与MySQL建立链接
创建一个事务Demo
自定义JDBCUtils工具类
MySQLJDBC下载与使用
没有MySQL的jar包的可以去我网盘下载:
链接:https://pan.baidu.com/s/1ptMNriEOfAUq-N6LRsqJng
提取码:oe8o
1.导入jar包步骤
①打开下载的jar包,找到mysql-connector-java-8.0.29.jar,并复制,然后在自己的项目里新建一个文件夹lib,将复制的mysql-connector-java-8.0.29.jar粘贴到lib目录下
②右击刚导入的jar包,Add as Library,
③开始书写代码
Java与MySQL建立链接
public class JDBCDemo01 {
public static void main(String[] args) throws Exception {
// 1.导入驱动jar包
// 2.注册驱动,mysql 5 之后可以自动加载驱动
//Class.forName("com.mysql.jdbc.Driver");
// 3.获取数据库链接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://IP:端口号/要使用的数据库名","root","数据库密码");
// 4.定义sql语句
String str = "UPDATE student2 SET phone = 5 WHERE id = 3";//修改student2表中phone=5,当id=3时;
// 5.获取执行sql对象
Statement statement = conn.createStatement();
// 6.执行sql语句
int i = statement.executeUpdate(str);
// 7.处理结果
System.out.println(i);//这里输出一下做个演示
// 8.释放资源
statement.close();
conn.close();
}
}
创建一个事务Demo
public class JDBCDemo10 {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
try {
//1.获取连接
conn = JDBCUtils.getConnection();
//开启事务
conn.setAutoCommit(false);
//2.定义sql--在提前建立好数据库表的情况下
//2.1 张三 - 500
String sql1 = "update account set balance = balance - ? where id = ?";
//2.2 李四 + 500
String sql2 = "update account set balance = balance + ? where id = ?";
//3.获取执行sql对象
pstmt1 = conn.prepareStatement(sql1);
pstmt2 = conn.prepareStatement(sql2);
//4. 设置参数
pstmt1.setDouble(1,500);//将pstmt1中第1个?设置为500
pstmt1.setInt(2,1);//将pstmt1中第2个?设置为1
pstmt2.setDouble(1,500);//将pstmt2中第1个?设置为500
pstmt2.setInt(2,2);//将pstmt1中第2个?设置为2
//5.执行sql
pstmt1.executeUpdate();
// 手动制造异常,如果出现异常事务将会回滚,两个sql语句的执行结果都不会被提交
int i = 3/0;
pstmt2.executeUpdate();
//提交事务
conn.commit();
} catch (Exception e) {
//事务回滚
try {
if(conn != null) {
conn.rollback();
}
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
//JDBC工具类,简化了代码的书写
JDBCUtils.close(pstmt1,conn);
JDBCUtils.close(pstmt2,null);
}
}
}
自定义JDBCUtils工具类
简化了代码的书写
public class JDBCUtils {
private static String url;
private static String user;
private static String password;
private static String driver;
/**
* 文件的读取,只需要读取一次即可拿到这些值。使用静态代码块
*/
static{
//读取资源文件,获取值。
try {
//1. 创建Properties集合类。
Properties pro = new Properties();
//获取src路径下的文件的方式--->ClassLoader 类加载器
ClassLoader classLoader = JDBCUtils.class.getClassLoader();
URL res = classLoader.getResource("jdbc.properties");
String path = res.getPath();
//2. 加载文件
pro.load(new FileReader(path));
//3. 获取数据,赋值
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
driver = pro.getProperty("driver");
//4. 注册驱动
Class.forName(driver);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取连接
* @return 连接对象
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
/**
* 释放资源
* @param stmt
* @param conn
*/
public static void close(Statement stmt,Connection conn){
if( stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 释放资源
* @param stmt
* @param conn
*/
public static void close(ResultSet rs,Statement stmt, Connection conn){
if( rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
最后
以上就是苹果火龙果为你收集整理的使用JDBC链接MySQL数据库、如何在Java中创建事务MySQLJDBC下载与使用Java与MySQL建立链接创建一个事务Demo 自定义JDBCUtils工具类的全部内容,希望文章能够帮你解决使用JDBC链接MySQL数据库、如何在Java中创建事务MySQLJDBC下载与使用Java与MySQL建立链接创建一个事务Demo 自定义JDBCUtils工具类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复