1、传统的数据库操作
package com.java.mysql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; /** * <p> * Title: db.java * @author daxiang * @version 1.0 创建时间:2018年5月22日 上午8:00:22 */ public class Add { public static void main(String[] args) { Connection con;// 声明Connection对象 String driver = "com.mysql.jdbc.Driver";// 驱动程序名 String url = "jdbc:mysql://localhost:3306/salary";// URL指向要访问的数据库名mysql String user = "root";// MySQL配置时的用户名 String password = "123";// MySQL配置时的密码 try { Class.forName(driver);// 加载驱动程序 con = DriverManager.getConnection(url, user, password);// 使用getConnection()方法,连接MySQL数据库!! if (!con.isClosed()) System.out.println("成功连接mysql数据库"); // 2.创建statement类对象,用来执行SQL语句!! Statement statement = con.createStatement(); // 要执行的SQL语句 String sql = "insert into admin (id,username,password) values(2,'test','123')"; statement.execute(sql); statement.close(); con.close(); } catch (ClassNotFoundException e) { System.out.println("无法加载驱动"); e.printStackTrace();// 数据库驱动类异常处理 } catch (SQLException e) { e.printStackTrace();// 数据库连接失败异常处理 } catch (Exception e) { e.printStackTrace(); } } }
2、自己封装db工具DbUtil.java
由于增加、删除、更新在代码上存在大量的重复,所以现将数据库操作作为工具独立出来
package com.system.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import com.system.common.AppConstants; /** * 数据库连接类 * * @author daxiang * */ public class DbUtil { // 定义连接对象 private Connection connection; private Statement statement; /** * * @throws Exception */ public DbUtil() throws Exception { this.connection = getCon(); this.statement = connection.createStatement(); } /** * 获取数据库连接 * * @return 数据库连接Connection * @throws Exception */ public Connection getCon() throws Exception { Class.forName(AppConstants.JDBC_DRIVER); Connection con = DriverManager.getConnection(AppConstants.JDBC_URL, AppConstants.JDBC_USERNAME, AppConstants.JDBC_PASSWORD); return con; } /** * 关闭数据库连接 * * @param con * @throws SQLException */ public void closeCon(Connection con) throws SQLException { if (con != null) { con.close(); } } /** * 更新 * * @param sql * @return * @throws SQLException */ public boolean update(String sql) throws SQLException { return statement.execute(sql); } /** * 添加 * * @param sql * @return * @throws SQLException */ public boolean add(String sql) throws SQLException { return statement.execute(sql); } /** * 删除 * * @param sql * @return * @throws SQLException */ public boolean delete(String sql) throws SQLException { return statement.execute(sql); } /** * 查询 * @param sql * @return * @throws SQLException */ public ResultSet query(String sql) throws SQLException{ return statement.executeQuery(sql); } }
将可能修改的参数独立到一个AppConstants类中,便于修改
/** * 项目名:student * 作者:daxiang * 时间:2018.6.1 */ package com.system.common; /** * 模块说明: 常量 * */ public class AppConstants { // jdbc public static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/db_student?useUnicode=true&characterEncodeing=UTF-8"; public static final String JDBC_USERNAME = "root"; public static final String JDBC_PASSWORD = "123"; public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; // login view public static final String LOGIN_TITLE = "登录界面"; public static final String LOGIN_USERNAME = "用户名"; public static final String LOGIN_PASSWORD = "密码"; public static final String LOGIN = "登录"; public static final String RESET = "重置"; }