日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

java创建mysql驱动,JDBC之Java连接mysql实现增删改查

發(fā)布時(shí)間:2023/12/9 数据库 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java创建mysql驱动,JDBC之Java连接mysql实现增删改查 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用軟件:mysql、eclipse

鏈接步驟:

1.注冊(cè)驅(qū)動(dòng)

2.創(chuàng)建一個(gè)連接對(duì)象

3.寫(xiě)sql語(yǔ)句

4.執(zhí)行sql語(yǔ)句并返回一個(gè)結(jié)果或者結(jié)果集

5.關(guān)閉鏈接(一般就是connection、statement、setresult)這三個(gè)連接對(duì)象,關(guān)閉順序一般是(setresult? ? --->? statement? -->? setresult? )

一、直接連接方法:(這種方法就是講sql語(yǔ)句和結(jié)果所有的步驟寫(xiě)在一起) 不建議使用該方法

1 public static voidmain(String[] args) {2 String url = "jdbc:mysql://localhost:3306/students";3 String user = "root";4 String password = "admin";5 Connection conn = null;6 Statement st = null;7

8 try{9 //1. 注冊(cè)驅(qū)動(dòng)

10 Class.forName("com.mysql.jdbc.Driver");11 //2. 創(chuàng)建一個(gè)鏈接對(duì)象

12 conn =DriverManager.getConnection(url,user,password);13 //3. 創(chuàng)建一個(gè)sql語(yǔ)句的發(fā)送命令對(duì)象

14 String sql = "insert into student values('2001','Tom','20','7000')";15 st=conn.createStatement();16 //4. 執(zhí)行sql語(yǔ)句,拿到查詢(xún)的結(jié)果集對(duì)象

17 st.executeQuery(sql);20 } catch(Exception e) {21 e.printStackTrace();22 }finally{23 //5. 關(guān)閉鏈接 ,命令對(duì)象 ,結(jié)果集

24 if(st != null) {25 try{26 st.close();27 } catch(Exception e) {28 e.printStackTrace();29 }30 }31 if(conn != null) {32 try{33 conn.close();34 } catch(Exception e) {35 e.printStackTrace();36 }37 }38 }

二、建立工具類(lèi)方法,將必要的幾步寫(xiě)一個(gè)類(lèi),使用的時(shí)候直接調(diào)用(建議使用)

1.注冊(cè)驅(qū)動(dòng)、創(chuàng)建連接對(duì)象、關(guān)閉資源? ? 這三部一般可以寫(xiě)一個(gè)類(lèi),由于寫(xiě)sql語(yǔ)句和執(zhí)行sql語(yǔ)句的結(jié)果不一致,所以可以將其在用到的時(shí)候在寫(xiě)

2.一般寫(xiě)工具類(lèi)都是寫(xiě)成靜態(tài)方法,以方便調(diào)用

//這是工具類(lèi):

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class JdbcUtils {

private static String driverName = "com.mysql.jdbc.Driver";

private static String url = "jdbc:mysql://localhost:3306/student_achievement_system";

private static String user = "root";

private static String password = "admin";

/**

* 鏈接數(shù)據(jù)庫(kù)

*/

static {

try {

Class.forName(JdbcUtils.driverName);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 獲取鏈接對(duì)象connection

* @return

*/

public static Connection getConnection() {

try {

return DriverManager.getConnection(JdbcUtils.url, JdbcUtils.user, JdbcUtils.password);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

/**

* 關(guān)閉資源

* @param conn

* @param st

* @param rs

*/

public static void close(Connection conn,Statement st,ResultSet rs) {

if(rs != null) {

try {

rs.close();

} catch (Exception e) {

e.printStackTrace();

}

}

if(st != null) {

try {

st.close();

} catch (Exception e) {

e.printStackTrace();

}

}

if(conn != null) {

try {

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

//這是對(duì)數(shù)據(jù)庫(kù)的基本操作類(lèi)

// 增加、刪除、更新、查找一條、查找所有的方法

public class StudentsDaoImpl implements IStudentsDao {

//增加

@Override

public int save(Students student) {

Connection conn = null;

PreparedStatement ps = null;

try {

conn = JdbcUtils.getConnection();

String sql = "insert into students values(?,?,?,?,?,?)";

ps = conn.prepareStatement(sql);

ps.setInt(1, student.getStudentId());

ps.setString(2, student.getStudentName());

ps.setString(3, student.getSex());

ps.setString(4, student.getPhoneNo());

ps.setString(5, student.getAddress());

ps.setDate(6, (Date) student.getBirthday());

int row = ps.executeUpdate();

return row;

} catch (Exception e) {

e.printStackTrace();

}finally {

JdbcUtils.close(conn, ps, null);

}

return 0;

}

//刪除

@Override

public int delete(int studentId) {

Connection conn = null;

PreparedStatement ps = null;

try {

conn = JdbcUtils.getConnection();

String sql = "delete from students where studentId=?";

ps = conn.prepareStatement(sql);

ps.setInt(1, studentId);

int row = ps.executeUpdate();

return row;

} catch (Exception e) {

e.printStackTrace();

}finally {

JdbcUtils.close(conn, ps, null);

}

return 0;

}

//更新

@Override

public int update(int studentId, Students student) {

Connection conn = null;

PreparedStatement ps = null;

try {

conn = JdbcUtils.getConnection();

String sql = "update students set studentName=?,sex=?,phoneNo=?,address=?,birthday=? where studentId=?";

ps = conn.prepareStatement(sql);

ps.setString(1, student.getStudentName());

ps.setString(2, student.getSex());

ps.setString(3, student.getPhoneNo());

ps.setString(4, student.getAddress());

ps.setDate(5, ((Date) student.getBirthday()));

ps.setInt(6, studentId);

int row = ps.executeUpdate();

return row;

} catch (Exception e) {

e.printStackTrace();

}finally {

JdbcUtils.close(conn, ps, null);

}

return 0;

}

//查找一條數(shù)據(jù)

@Override

public Students getByStudentId(int studentId) {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn = JdbcUtils.getConnection();

String sql = "select * from students where studentId=?";

ps = conn.prepareStatement(sql);

ps.setInt(1, studentId);

rs = ps.executeQuery();

if(rs.next()) {

Students student = new Students();

student.setStudentId(rs.getInt("studentId"));

student.setStudentName(rs.getString("studentName"));

student.setSex(rs.getString("sex"));

student.setPhoneNo(rs.getString("phoneNo"));

student.setAddress(rs.getString("address"));

student.setBirthday(rs.getDate("birthday"));

return student;

}

} catch (Exception e) {

e.printStackTrace();

}finally {

JdbcUtils.close(conn, ps, rs);

}

return null;

}

//查找所有數(shù)據(jù)

@Override

public List getAll() {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn = JdbcUtils.getConnection();

String sql = "select * from students";

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

List studentsList = new ArrayList<>();

while(rs.next()) {

Students student = new Students();

student.setStudentId(rs.getInt("studentId"));

student.setStudentName(rs.getString("studentName"));

student.setSex(rs.getString("sex"));

student.setPhoneNo(rs.getString("phoneNo"));

student.setAddress(rs.getString("address"));

student.setBirthday(rs.getDate("birthday"));

studentsList.add(student);

}

return studentsList;

} catch (Exception e) {

e.printStackTrace();

}finally {

JdbcUtils.close(conn, ps, rs);

}

return null;

}

}

內(nèi)容來(lái)源于網(wǎng)絡(luò)如有侵權(quán)請(qǐng)私信刪除

總結(jié)

以上是生活随笔為你收集整理的java创建mysql驱动,JDBC之Java连接mysql实现增删改查的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。