加載驅(qū)動程序:
Class.forName(driverClass)
//加載MySql驅(qū)動
Class.forName("com.mysql.jdbc.Driver")
//加載MySql 8.0驅(qū)動
Class.forName("com.mysql.cj.jdbc.Driver")
//加載Oracle驅(qū)動
Class.forName("oracle.jdbc.driver.OracleDriver")
獲得數(shù)據(jù)庫連接:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/MySQL",
? ? ? ? "root", "001002003");
創(chuàng)建Statement\PreparedStatement對象:
conn.createStatement();
conn.prepareStatement(sql);
完整實例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DbUtil {
? ? public static final String URL = "jdbc:mysql://localhost:3306/imooc";
? ? public static final String USER = "liulx";
? ? public static final String PASSWORD = "123456";
? ? public static void main(String[] args) throws Exception {
? ? ? ? //1.加載驅(qū)動程序
? ? ? ? Class.forName("com.mysql.jdbc.Driver");
? ? ? ? //2. 獲得數(shù)據(jù)庫連接
? ? ? ? Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
? ? ? ? //3.操作數(shù)據(jù)庫擎析,實現(xiàn)增刪改查
? ? ? ? Statement stmt = conn.createStatement();
? ? ? ? ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");
? ? ? ? //如果有數(shù)據(jù)挥下,rs.next()返回true
? ? ? ? while(rs.next()){
? ? ? ? ? ? System.out.println(rs.getString("user_name")+" 年齡:"+rs.getInt("age"));
? ? ? ? }
? ? }
}
增刪改查
public class DbUtil {
? ? public static final String URL = "jdbc:mysql://localhost:3306/imooc";
? ? public static final String USER = "liulx";
? ? public static final String PASSWORD = "123456";
? ? private static Connection conn = null;
? ? static{
? ? ? ? try {
? ? ? ? ? ? //1.加載驅(qū)動程序
? ? ? ? ? ? Class.forName("com.mysql.jdbc.Driver");
? ? ? ? ? ? //2. 獲得數(shù)據(jù)庫連接
? ? ? ? ? ? conn = DriverManager.getConnection(URL, USER, PASSWORD);
? ? ? ? } catch (ClassNotFoundException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? } catch (SQLException e) {
? ? ? ? ? ? e.printStackTrace();
? ? ? ? }
? ? }
? ? public static Connection getConnection(){
? ? ? ? return conn;
? ? }
}
//模型
package liulx.model;
import java.util.Date;
public class Goddess {
? ? private Integer id;
? ? private String user_name;
? ? private Integer sex;
? ? private Integer age;
? ? private Date birthday; //注意用的是java.util.Date
? ? private String email;
? ? private String mobile;
? ? private String create_user;
? ? private String update_user;
? ? private Date create_date;
? ? private Date update_date;
? ? private Integer isDel;
? ? //getter setter方法棚瘟。。庄蹋。
}
//---------dao層--------------
package liulx.dao;
import liulx.db.DbUtil;
import liulx.model.Goddess;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class GoddessDao {
? ? //增加
? ? public void addGoddess(Goddess g) throws SQLException {
? ? ? ? //獲取連接
? ? ? ? Connection conn = DbUtil.getConnection();
? ? ? ? //sql
? ? ? ? String sql = "INSERT INTO imooc_goddess(user_name, sex, age, birthday, email, mobile,"+
? ? ? ? ? ? "create_user, create_date, update_user, update_date, isdel)"
? ? ? ? ? ? ? ? +"values("+"?,?,?,?,?,?,?,CURRENT_DATE(),?,CURRENT_DATE(),?)";
? ? ? ? //預(yù)編譯
? ? ? ? PreparedStatement ptmt = conn.prepareStatement(sql); //預(yù)編譯SQL禀苦,減少sql執(zhí)行
? ? ? ? //傳參
? ? ? ? ptmt.setString(1, g.getUser_name());
? ? ? ? ptmt.setInt(2, g.getSex());
? ? ? ? ptmt.setInt(3, g.getAge());
? ? ? ? ptmt.setDate(4, new Date(g.getBirthday().getTime()));
? ? ? ? ptmt.setString(5, g.getEmail());
? ? ? ? ptmt.setString(6, g.getMobile());
? ? ? ? ptmt.setString(7, g.getCreate_user());
? ? ? ? ptmt.setString(8, g.getUpdate_user());
? ? ? ? ptmt.setInt(9, g.getIsDel());
? ? ? ? //執(zhí)行
? ? ? ? ptmt.execute();
? ? }
? ? public void updateGoddess(){
? ? ? ? //獲取連接
? ? ? ? Connection conn = DbUtil.getConnection();
? ? ? ? //sql, 每行加空格
? ? ? ? String sql = "UPDATE imooc_goddess" +
? ? ? ? ? ? ? ? " set user_name=?, sex=?, age=?, birthday=?, email=?, mobile=?,"+
? ? ? ? ? ? ? ? " update_user=?, update_date=CURRENT_DATE(), isdel=? "+
? ? ? ? ? ? ? ? " where id=?";
? ? ? ? //預(yù)編譯
? ? ? ? PreparedStatement ptmt = conn.prepareStatement(sql); //預(yù)編譯SQL振乏,減少sql執(zhí)行
? ? ? ? //傳參
? ? ? ? ptmt.setString(1, g.getUser_name());
? ? ? ? ptmt.setInt(2, g.getSex());
? ? ? ? ptmt.setInt(3, g.getAge());
? ? ? ? ptmt.setDate(4, new Date(g.getBirthday().getTime()));
? ? ? ? ptmt.setString(5, g.getEmail());
? ? ? ? ptmt.setString(6, g.getMobile());
? ? ? ? ptmt.setString(7, g.getUpdate_user());
? ? ? ? ptmt.setInt(8, g.getIsDel());
? ? ? ? ptmt.setInt(9, g.getId());
? ? ? ? //執(zhí)行
? ? ? ? ptmt.execute();
? ? }
? ? public void delGoddess(){
? ? ? ? //獲取連接
? ? ? ? Connection conn = DbUtil.getConnection();
? ? ? ? //sql, 每行加空格
? ? ? ? String sql = "delete from imooc_goddess where id=?";
? ? ? ? //預(yù)編譯SQL慧邮,減少sql執(zhí)行
? ? ? ? PreparedStatement ptmt = conn.prepareStatement(sql);
? ? ? ? //傳參
? ? ? ? ptmt.setInt(1, id);
? ? ? ? //執(zhí)行
? ? ? ? ptmt.execute();
? ? }
? ? public List<Goddess> query() throws SQLException {
? ? ? ? Connection conn = DbUtil.getConnection();
? ? ? ? Statement stmt = conn.createStatement();
? ? ? ? ResultSet rs = stmt.executeQuery("SELECT user_name, age FROM imooc_goddess");
? ? ? ? List<Goddess> gs = new ArrayList<Goddess>();
? ? ? ? Goddess g = null;
? ? ? ? while(rs.next()){
? ? ? ? ? ? g = new Goddess();
? ? ? ? ? ? g.setUser_name(rs.getString("user_name"));
? ? ? ? ? ? g.setAge(rs.getInt("age"));
? ? ? ? ? ? gs.add(g);
? ? ? ? }
? ? ? ? return gs;
? ? }
? ? public Goddess get(){
? ? ? ? Goddess g = null;
? ? ? ? //獲取連接
? ? ? ? Connection conn = DbUtil.getConnection();
? ? ? ? //sql, 每行加空格
? ? ? ? String sql = "select * from? imooc_goddess where id=?";
? ? ? ? //預(yù)編譯SQL,減少sql執(zhí)行
? ? ? ? PreparedStatement ptmt = conn.prepareStatement(sql);
? ? ? ? //傳參
? ? ? ? ptmt.setInt(1, id);
? ? ? ? //執(zhí)行
? ? ? ? ResultSet rs = ptmt.executeQuery();
? ? ? ? while(rs.next()){
? ? ? ? ? ? g = new Goddess();
? ? ? ? ? ? g.setId(rs.getInt("id"));
? ? ? ? ? ? g.setUser_name(rs.getString("user_name"));
? ? ? ? ? ? g.setAge(rs.getInt("age"));
? ? ? ? ? ? g.setSex(rs.getInt("sex"));
? ? ? ? ? ? g.setBirthday(rs.getDate("birthday"));
? ? ? ? ? ? g.setEmail(rs.getString("email"));
? ? ? ? ? ? g.setMobile(rs.getString("mobile"));
? ? ? ? ? ? g.setCreate_date(rs.getDate("create_date"));
? ? ? ? ? ? g.setCreate_user(rs.getString("create_user"));
? ? ? ? ? ? g.setUpdate_date(rs.getDate("update_date"));
? ? ? ? ? ? g.setUpdate_user(rs.getString("update_user"));
? ? ? ? ? ? g.setIsDel(rs.getInt("isdel"));
? ? ? ? }
? ? ? ? return g;
? ? }
}