JDBC 增刪查改

加載驅(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;

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市忆谓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哨免,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件载荔,死亡現(xiàn)場離奇詭異采桃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)普办,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門泌豆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人踪危,你說我怎么就攤上這事〕氩” “怎么了蓝仲?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亮隙。 經(jīng)常有香客問我垢夹,道長,這世上最難降的妖魔是什么果元? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任而晒,我火速辦了婚禮,結(jié)果婚禮上倡怎,老公的妹妹穿的比我還像新娘贱枣。我一直安慰自己豹障,他們只是感情好焦匈,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布缓熟。 她就那樣靜靜地躺著,像睡著了一般够滑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梯投,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天况毅,我揣著相機(jī)與錄音,去河邊找鬼么鹤。 笑死味廊,一個胖子當(dāng)著我的面吹牛蒸甜,可吹牛的內(nèi)容都是我干的余佛。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼辉巡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了框咙?” 一聲冷哼從身側(cè)響起痢甘,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎者铜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體作烟,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡拿撩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了影暴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片探赫。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伦吠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情搁嗓,我是刑警寧澤潭千,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站屉来,受9級特大地震影響狈癞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蝶桶,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脐雪。 院中可真熱鬧恢共,春花似錦、人聲如沸讨韭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至埋泵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秋泄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留歧胁,地道東北人厉碟。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像箍鼓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子何暮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容