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

歡迎訪問 生活随笔!

生活随笔

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

数据库

24、jdbc操作数据库(1)

發(fā)布時(shí)間:2023/12/3 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 24、jdbc操作数据库(1) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是jdbc?

看一下官方怎么說,JDBC 英文名Java DataBase Connectivity,使用java連接數(shù)據(jù)庫的工具,就是一組使用java代碼來執(zhí)行SQL語句的API。

Jdbc有什么用?

數(shù)據(jù)庫有多種,并且不同數(shù)據(jù)庫操作時(shí)的方式和語句可能不太一樣,當(dāng)使用java 代碼控制sql 調(diào)用時(shí),不可能每一種數(shù)據(jù)庫都弄一套 java 的代碼,所以就聲明了一個(gè)套操作數(shù)據(jù)庫的接口,java程序員只需調(diào)用這一套接口即可,具體的接口實(shí)現(xiàn)由對(duì)應(yīng)的數(shù)據(jù)庫廠商實(shí)現(xiàn),所以這里就又有了一個(gè)新的概念叫做數(shù)據(jù)庫驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)就是不同數(shù)據(jù)庫廠商實(shí)現(xiàn) JDBC 接口的類的一個(gè)工具包,當(dāng)時(shí)用jdbc操作數(shù)據(jù)庫時(shí),需要添加對(duì)應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng)包。

如何使用jdbc?

使用jdbc操作數(shù)據(jù)庫有以下幾步:

  • 添加驅(qū)動(dòng)
  • 創(chuàng)建數(shù)據(jù)庫連接
  • 通過連接獲取操作數(shù)據(jù)庫的對(duì)象
  • 發(fā)送執(zhí)行sql語句
  • 處理結(jié)果集
  • 關(guān)閉jdbc對(duì)象
  • 接下來詳細(xì)的介紹一下

    添加驅(qū)動(dòng)并獲取數(shù)據(jù)庫連接。不同的數(shù)據(jù)庫對(duì)應(yīng)的驅(qū)動(dòng)包不一樣,添加驅(qū)動(dòng)包(添加jar包)之后需要通過驅(qū)動(dòng)去獲取一個(gè)數(shù)據(jù)庫連接,沒什么好說的,直接上代碼:

    //聲明一個(gè)配置文件jdbc.properties #數(shù)據(jù)庫驅(qū)動(dòng)類 driver=com.mysql.jdbc.Driver #連接數(shù)據(jù)庫 jdbcUrl=jdbc:mysql://127.0.0.1:3306/fqx_webapp #用戶名 user=root #密碼 password=123456--------------------------------------------------------------//工具類(基本類) public class DBUtil {/*** 獲取配置文件信息* @return*/private static Properties getProperties() {InputStream inputStream = DBUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");Properties properties = new Properties();try {properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}return properties;}/*** 獲取數(shù)據(jù)庫連接 java.sql.Connection的一個(gè)實(shí)例* @return*/public static Connection getConnection() {Connection connection = null;Properties properties = getProperties();String driver = properties.getProperty("driver");try {//加載數(shù)據(jù)庫驅(qū)動(dòng)Class.forName(driver);//使用驅(qū)動(dòng)管理器獲取數(shù)據(jù)庫連接connection = DriverManager.getConnection(properties.getProperty("jdbcUrl"), properties);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return connection;}/*** 釋放資源* @param resultSet* @param statement* @param connection*/public static void close(ResultSet resultSet , Statement statement , Connection connection) {try {if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (Exception e) {e.printStackTrace();}}}

    使用java對(duì)象數(shù)據(jù)庫進(jìn)行簡單的增、刪、改、查操作,代碼如下:

    public class Test {public static void main(String[] args) {Test test = new Test(); // test.insert(); // test.delete(); // test.update();test.query();}//添加public void insert() {//獲取數(shù)據(jù)庫連接Connection connection = DBUtil.getConnection();//編寫sql,需要傳參數(shù)的地方使用 ? 來表示,叫做占位符String sql = "INSERT INTO USER (uname , password) VALUES (? , ?)";PreparedStatement prepareStatement = null;try {//通過數(shù)據(jù)庫連接獲取數(shù)據(jù)庫操作對(duì)象prepareStatement = connection.prepareStatement(sql);//使用對(duì)應(yīng)的值填充占位符,key是占位符的下標(biāo),下標(biāo)在1開始prepareStatement.setObject(1, "zhangsan");prepareStatement.setObject(2, 18);//發(fā)送并sql,返回結(jié)果//增刪改可以使用executeUpdate()方法,查詢使用executeQuery()方法int update = prepareStatement.executeUpdate();System.out.println("是否添加成功:"+update);} catch (SQLException e) {e.printStackTrace();} finally {//關(guān)閉資源DBUtil.close(null, prepareStatement, connection);}}//刪除public void delete() {Connection connection = DBUtil.getConnection();String sql = "DELETE FROM USER WHERE ID = ?";PreparedStatement prepareStatement = null;try {prepareStatement = connection.prepareStatement(sql);prepareStatement.setObject(1, 3);int update = prepareStatement.executeUpdate();System.out.println("是否刪除成功:"+update);} catch (SQLException e) {e.printStackTrace();} finally {DBUtil.close(null, prepareStatement, connection);}}//修改public void update() {Connection connection = DBUtil.getConnection();String sql = "UPDATE USER SET UNAME = ? WHERE ID = ?";PreparedStatement prepareStatement = null;try {prepareStatement = connection.prepareStatement(sql);prepareStatement.setObject(1, "wangwu");prepareStatement.setObject(2 , 2);int update = prepareStatement.executeUpdate();System.out.println("是否修改成功:"+update);} catch (SQLException e) {e.printStackTrace();} finally {DBUtil.close(null, prepareStatement, connection);}}//查詢public void query() {Connection connection = DBUtil.getConnection();String sql = "SELECT ID,UNAME,PASSWORD FROM USER";PreparedStatement prepareStatement = null;ResultSet resultSet = null;try {prepareStatement = connection.prepareStatement(sql);//獲取到結(jié)果集resultSet = prepareStatement.executeQuery();List<Map<String, Object>> list = new ArrayList<>();//返回的相當(dāng)于一張表,表中有一個(gè)指針,當(dāng)調(diào)用resultSet.next()方法時(shí),指針就往后移一次while(resultSet.next()){Map<String, Object> map = new HashMap<>(); //根據(jù)對(duì)應(yīng)的字段名獲取結(jié)果幾種的值map.put("ID", resultSet.getObject("ID"));map.put("UNAME", resultSet.getObject("UNAME"));map.put("PASSWORD", resultSet.getObject("PASSWORD"));list.add(map);}System.out.println("查詢出的信息:"+list);} catch (SQLException e) {e.printStackTrace();} finally {DBUtil.close(resultSet, prepareStatement, connection);}}}

    ?

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

    總結(jié)

    以上是生活随笔為你收集整理的24、jdbc操作数据库(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 成人一二区| 手机在线观看av片 | 久久国产露脸精品国产 | 国产精品入口66mio男同 | 欧美成人区 | 精品久久久久一区二区 | 99国产精品久久久久99打野战 | 曰女同女同中文字幕 | 91久久免费视频 | 一级高清毛片 | 日韩精品视频在线观看网站 | 欧美草b| 亚洲欧美综合色 | 伊人中文字幕在线观看 | 国产做受网站 | 91午夜精品亚洲一区二区三区 | 182午夜视频 | 日日干日日| 一区二区精品国产 | 手机在线观看av网站 | 天海翼一区二区 | 天天色综 | 欧美日韩国产专区 | 亚洲女同女同女同女同女同69 | 九九超碰 | av性天堂网| 九草av | 久久精品国产99精品国产亚洲性色 | 波多野吉衣伦理片 | 国产在线视频导航 | 日韩视频免费在线观看 | 午夜精品国产 | 国产三级在线观看 | 7777av| av站 | 日韩电影中文字幕在线观看 | 黄瓜污视频| 国产精品丝袜视频 | 久久久精品一区二区 | 国产福利99| 伊人激情综合网 | 久久精品国产99久久久 | 夜夜爽夜夜叫夜夜高潮漏水 | 亚洲国产成人精品91久久久 | 有色影院| 伊久久| 少妇一级淫片免费放2 | 777久久久精品一区二区三区 | 成人久久电影 | 3d动漫精品啪啪一区二区免费 | 青青草成人在线 | 成人小视频免费在线观看 | 国产999久久久 | 高清成人 | 麻豆影视免费观看 | 嫩草视频在线免费观看 | wwwwww在线观看| 自拍99页 | 青青伊人国产 | 欧美体内谢she精2性欧美 | 在线观看你懂的视频 | 成人在线观看一区二区 | 丰满少妇中文字幕 | 亚洲欧美日韩高清 | 最近免费中文字幕大全免费版视频 | 国产又粗又猛又黄又爽视频 | 超碰最新上传 | 天堂资源站 | 可以看的av网址 | 黑人精品一区二区三区不 | 亚洲图片 自拍偷拍 | 国产精品偷乱一区二区三区 | 久草久操 | 伊人啪啪网 | 丰满少妇高潮在线观看 | 舐丝袜脚视频丨vk | 国产精品成av人在线视午夜片 | 国产午夜一区 | 强辱丰满人妻hd中文字幕 | 亚洲精品高清在线观看 | 日本美女一区二区三区 | 九色视频偷拍少妇的秘密 | 天堂国产一区二区三区 | 91久久精品www人人做人人爽 | 6080av| 在线看成人 | 美女脱了内裤喂我喝尿视频 | av福利在线观看 | www.成人av.com| 中国浓毛少妇毛茸茸 | 麻豆传媒在线观看视频 | 无码国内精品人妻少妇蜜桃视频 | 天天综合视频 | 欧美a√| 美女在线观看www | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 久热中文 | 日韩一区二区三区在线播放 | av资源共享 |