
1、读取配置文件中的4个基本信息,连接数据库
2.加载驱动
3.获取连接
7、关闭数据库
新建xxx.xxx.util包
新建util.java类
JDBCutil.java
package com.atguigu3.util;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;/**** @Description 操作数据库的工具类* @author shkstart Email:shkstart@126.com* @version* @date 上午9:10:02**/public class JDBCUtils {/**** @Description 获取数据库的连接* @author shkstart* @date 上午9:11:23* @return* @throws Exception*/public static Connection getConnection() throws Exception {// 1.读取配置文件中的4个基本信息InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("jdbc.properties");Properties pros = new Properties();pros.load(is);String user = pros.getProperty("user");String password = pros.getProperty("password");String url = pros.getProperty("url");String driverClass = pros.getProperty("driverClass");// 2.加载驱动Class.forName(driverClass);// 3.获取连接Connection conn = DriverManager.getConnection(url, user, password);return conn;}/**** @Description 关闭连接和Statement的操作* @author shkstart* @date 上午9:12:40* @param conn* @param ps*/public static void closeResource(Connection conn,Statement ps){try {if(ps != null)ps.close();} catch (SQLException e) {e.printStackTrace();}try {if(conn != null)conn.close();} catch (SQLException e) {e.printStackTrace();}}/**** @Description 关闭资源操作* @author shkstart* @date 上午10:21:15* @param conn* @param ps* @param rs*/public static void closeResource(Connection conn,Statement ps,ResultSet rs){try {if(ps != null)ps.close();} catch (SQLException e) {e.printStackTrace();}try {if(conn != null)conn.close();} catch (SQLException e) {e.printStackTrace();}try {if(rs != null)rs.close();} catch (SQLException e) {e.printStackTrace();}}}
//通用的增删改操作public void update(String sql,Object ...args){//sql中占位符的个数与可变形参的长度相同!Connection conn = null;PreparedStatement ps = null;try {//1.获取数据库的连接conn = JDBCUtils.getConnection();//2.预编译sql语句,返回PreparedStatement的实例ps = conn.prepareStatement(sql);//3.填充占位符for(int i = 0;i < args.length;i++){ps.setObject(i + 1, args[i]);//小心参数声明错误!!}//4.执行//方式一://return ps.execute();//方式二:返回intreturn ps.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally{//5.资源的关闭JDBCUtils.closeResource(conn, ps);}}
| 返回方法 | ps.execute(): | ps.executeUpdate(); |
|---|---|---|
| 查询操作 | 有返回结果,返回true | |
| 增、删、改操作 | 没有返回结果,返回false. | 成功返回1,失败返回0 |
@Testpublic void testCommonUpdate(){// String sql = "delete from customers where id = ?";// update(sql,3);String sql = "update `order` set order_name = ? where order_id = ?";int insertCount = update(sql,"DD","2");if(insertCount > 0){System.out.println("添加成功");}else{System.out.println("添加失败");}}