一、工具类及配置文件准备工作

1.1 引入jar包

使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下:

mysql

mysql-connector-java

5.1.48

1.2 jdbc.properties文件配置

在resources文件夹根目录,新增jdbc.properties配置文件,内容如下:

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/mydb

user=root

password=123456

1.3 JDBCUtils工具类

在java文件夹中新增 util --> JDBCUtils.java 类,该类中获取jdbc.properties中的值。

JDBCUtils工具类主要作用是简化获取MySQL配置文件、关闭资源。

private staticString url;private staticString user;private staticString password;static{

Properties properties= newProperties();try{

properties.load(Mytest.class.getClassLoader().getResourceAsStream("jdbc.properties"));

url= properties.getProperty("url");

user= properties.getProperty("user");

password= properties.getProperty("password");

Class.forName(properties.getProperty("driver"));

}catch (IOException |ClassNotFoundException e) {

e.printStackTrace();

}

}//1.获取jdbc.properties配置文件中的数据库连接

public static Connection getConnection() throwsSQLException {returnDriverManager.getConnection(url, user, password);

}//5.定义关闭资源的方法

public static voidclose(Connection conn, Statement stmt, ResultSet rs) {if (rs != null) {try{

rs.close();

}catch(SQLException e) {}

}if (stmt != null) {try{

stmt.close();

}catch(SQLException e) {}

}if (conn != null) {try{

conn.close();

}catch(SQLException e) {}

}

}public static voidclose(Connection conn, Statement stmt) {

close(conn, stmt,null);

}

二、原生MySQL实现增删改查

2.1 语法说明

1、通过Connection获取数据库连接对象;

2、定义sql语句(一般可以在Navicat中直接执行);

3、通过获取执行sql的对象 --PreparedStatement;

4、执行sql语句:增删改使用conn的executeUpdate方法(成功返回值为int=1),查询使用executeQuery方法(返回值为ResultSet,建议使用下文的查询方法操作);

5、释放资源(执行SQL时定义的stmt、获取连接时的conn)。

2.2 新增数据 -- insertUser()

在java文件夹中新增MyService.java类,将获取数据库连接抽取出来,方法如下:

privateConnection conn;

{try{

conn=JDBCUtils.getConnection();

}catch(SQLException e) {

e.printStackTrace();

}

}

在MyService.java类中新增 insertUser方法,具体如下

String sql = "INSERT INTO user values (4, ‘腾讯科技‘, ‘xinfeng37812‘, ‘2009-11-16‘, ‘广东省深圳市‘)";

PreparedStatement stmt=conn.prepareStatement(sql);int count =stmt.executeUpdate(sql);

JDBCUtils.close(conn, stmt);return count;

2.2 修改数据 -- updateById()

String sql = "update user set password = 567875 where id = 2";

PreparedStatement stmt=conn.prepareStatement(sql);int count =stmt.executeUpdate(sql);

JDBCUtils.close(conn, stmt);return count;

2.3 删除数据 -- deleteUser()

String sql = "delete from user where id = 5";

PreparedStatement stmt=conn.prepareStatement(sql);int count =stmt.executeUpdate(sql);

JDBCUtils.close(conn, stmt);return count;

2.4 查询数据 -- findAll()

前提:新建 entity --> User.java 实体类,并获取getter&setter、toSting方法;

String sql = "select * from user";

PreparedStatement stmt=conn.prepareStatement(sql);

ResultSet count=stmt.executeQuery(sql);

User user= null;

List arr = new ArrayList<>();while(count.next()){

Long id= count.getLong("id");

String username= count.getString("username");

String password= count.getString("password");

Date birthday= count.getDate("birthday");

String address= count.getString("address");

user= newUser();

user.setId(id);

user.setUsername(username);

user.setPassword(password);

user.setBirthday(birthday);

user.setAddress(address);

arr.add(user);

}

JDBCUtils.close(conn, stmt, count);return arr;

三、原生MySQL语句的缺点

1、每一次查询都要新增通道,关闭通道,效率太低。实际项目中都会用数据库连接池进行优化;

2、实际项目中使用最多的就是查询,但是将查询的ResultSet结果,进行封装的代码过于臃肿。

mysql原生态查询java_java使用原生MySQL实现数据的增删改查相关推荐

  1. vue访问php时做增删改查,node连接mysql生成接口,vue通过接口实现数据的增删改查(一)...

    武汉加油遇新是直朋能到分览支体调!中国加油! 想必许多干用是处框它观有理近货框万理架是察放是近学vue的小伙伴想连接数据库,对数据进行增删改查吧,奈何不知道怎么实现.作为一路踩坑的我,为大家带来我的一 ...

  2. MySQL基础(三)表关系及数据的增删改查

    这一部分主要使用SQL中的DML,数据库操作语言(data manipulation language),对数据库数据进行增.删.改.查操作,作为前提,先介绍关系型数据库中的表关系. 关系型数据库(R ...

  3. 封装mysql数据库操作系统_封装MySQL的单例,连接数据库并对数据进行增删改查操作...

    //私有的构造方法用来阻止在类的外部实例化private function __construct($param){$this->initData($param);$this->conne ...

  4. SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例

    SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例 开源地址:https://gitee.com/jfkjrym/demo.git evan原创内容!evan原 ...

  5. php mysql增删改查实例_php连接数据库实现用户数据的增删改查实例

    下面小编就为大家带来一篇使用PHP连接数据库_实现用户数据的增删改查的整体操作示例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 main页面(主页面) 代号 姓名 性 ...

  6. SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现

    场景 业务中经常会用到一对多的数据库的设计与数据的增删改查的实现. 比如要实现一个对手机应用配置允许访问的权限的业务. app与权限就是一对多的关系.即一个app可以拥有多个权限. 注: 博客: ht ...

  7. mysql一对多增删改查_SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现...

    场景 业务中经常会用到一对多的数据库的设计与数据的增删改查的实现. 比如要实现一个对手机应用配置允许访问的权限的业务. app与权限就是一对多的关系.即一个app可以拥有多个权限. 注: 实现 首先设 ...

  8. Java操作Mongodb数据(增删改查聚合查询)

    文章目录 一.Java操作MongoDB 二.使用步骤 1.基础配置 2.实体类 3.MongoDB表数据 3.增删改查聚合查询 总结 一.Java操作MongoDB 上一篇文章介绍了,如何在本地使用 ...

  9. java连接mysql数据库连接池_java使用原生MySQL实现数据的增删改查以及数据库连接池技术...

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: mysql mysql-connector-java 5.1.48 ...

  10. mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)

    MySQL数据库概述 MySQL数据库是经典的关系型数据库管理系统,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Dat ...

最新文章

  1. 算法提高课-图论-有向图的强连通分量-AcWing 1174. 受欢迎的牛:tarjan算法求强连通分量、tarjan算法板子、强连通图
  2. 【机器学习】最近邻算法KNN原理、流程框图、代码实现及优缺点
  3. 2020-10-29(Android 的DEX ,ODEX,ELF )
  4. 柴静《认识的人 了解的事》
  5. ROS机器人程序设计(原书第2版)2.3 理解ROS开源社区级
  6. webrtc在远程助手应用的实践
  7. iOS弹窗UIAlertController的使用
  8. 高斯光束的简单matlab仿真
  9. opencv(16) ROI区域图像叠加图像混合
  10. java 8 解析英文月份,英文星期等
  11. 使用node实现简单的增删改查功能的小demo
  12. 高等代数第3版下 [丘维声 著] 2015年版_3折购书优惠码限时抢(人工智能类)
  13. Kubernetes(5)job控制器
  14. 人工智能对图书馆未来的影响,主要包含哪三个方面?
  15. python2 assert判断字典的包含关系
  16. CSP-S 2022 总结
  17. 奥克斯空调红外遥控信号编码协议的分析,STC51单片机读红外程序
  18. 上海大学计算机学院2021,2020-2021学年秋季学期新生选课通知
  19. 如何打开已经 force-push 的 PR (branch was force-pushed or recreated)
  20. 基于MATLAB 的道路交通标志识别

热门文章

  1. 元月元日是哪一天_元宵节的农历日期是哪一天 - 中国万年历
  2. RQNOJ 石子合并
  3. cad 2019 mac安装破解详细图文教程
  4. codeblock快捷键大全
  5. 1.1音响系统放大器设计
  6. html css 实现发票(付款申请书)模板
  7. 谷歌浏览器上传下载奔溃问题解决方法
  8. 几种码农使用的等宽字体比较——让自己的眼睛爽起来!
  9. 推荐大家一个github上好的电子签名
  10. kali工具 -- setoolkit(克隆网站及利用)