一、数据库结构

1、在本地 localhost,用户名 root ,密码为空,新建数据库 jdbc_study,新建数据表 users 表

users 表结构如下

有七个字段,分别是 id,name,password,birthday,email,create_date,status

二、代码实现

总共有4个类,分别是 DBUtil.java,Users.java,UsersDAO.java,UsersAction.java

采用 MVC 思想,虽然这里没有 View,测试可以在 UsersAction.java

为了方便管理分别建了四个包(package),具体可以看代码头部

DBUtil.java

  1. package com.liuyanzhao.db;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.SQLException;
  5. /*
  6. * @author LiuYanzhao
  7. */
  8. public class DBUtil {
  9. private static final String URL = "jdbc:mysql://127.0.0.1:3306/jdbc_study"
  10. + "?useUnicode=true&characterEncoding=utf8";//防止中文读取乱码
  11. private static final String USER = "root";
  12. private static final String PASSWORD = "";
  13. public static Connection conn = null;
  14. //静态代码块最先执行,先执行一次
  15. static {
  16. try {
  17. //加载驱动
  18. Class.forName("com.mysql.jdbc.Driver");
  19. //获取连接
  20. conn = DriverManager.getConnection(URL, USER, PASSWORD);
  21. } catch (ClassNotFoundException e) {
  22. e.printStackTrace();
  23. } catch (SQLException e) {
  24. e.printStackTrace();
  25. }
  26. }
  27. //单例模式,使对象唯一性
  28. public static Connection getConnection() {
  29. return conn;
  30. }
  31. public static void main(String[] args) {
  32. }
  33. }

Users.java

  1. package com.liuyanzhao.model;
  2. import java.sql.Date;
  3. /*
  4. * @author LiuYanzhao
  5. */
  6. public class Users {
  7. private int id;
  8. private String name;
  9. private String password;
  10. private Date birthday;
  11. private String Email;
  12. private Date create_date;
  13. private int status;
  14. public int getId() {
  15. return id;
  16. }
  17. public void setId(int id) {
  18. this.id = id;
  19. }
  20. public String getName() {
  21. return name;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. public String getPassword() {
  27. return password;
  28. }
  29. public void setPassword(String password) {
  30. this.password = password;
  31. }
  32. public Date getBirthday() {
  33. return birthday;
  34. }
  35. public void setBirthday(Date birthday) {
  36. this.birthday = birthday;
  37. }
  38. public String getEmail() {
  39. return Email;
  40. }
  41. public void setEmail(String email) {
  42. Email = email;
  43. }
  44. public Date getCreate_date() {
  45. return create_date;
  46. }
  47. public void setCreate_date(Date create_date) {
  48. this.create_date = create_date;
  49. }
  50. public int getStatus() {
  51. return status;
  52. }
  53. public void setStatus(int status) {
  54. this.status = status;
  55. }
  56. }

UsersDAO.java

  1. package com.liuyanzhao.dao;
  2. import java.sql.Connection;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.text.ParseException;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. import com.liuyanzhao.db.DBUtil;
  10. import com.liuyanzhao.model.Users;
  11. /*
  12. * @author LiuYanzhao
  13. */
  14. public class UsersDAO {
  15. //添加用户
  16. public void addUsers(Users u) throws SQLException, ParseException {
  17. Connection conn = DBUtil.getConnection();
  18. String sql = " insert into users "
  19. + "(name,password,birthday,email,create_date,status)"
  20. + " value("
  21. + "?,?,?,?,current_date(),1"
  22. + ") ";
  23. PreparedStatement ptmt = conn.prepareStatement(sql);
  24. ptmt.setString(1, u.getName());
  25. ptmt.setString(2, u.getPassword());
  26. ptmt.setDate(3, u.getBirthday());
  27. ptmt.setString(4, u.getEmail());
  28. ptmt.executeUpdate();
  29. }
  30. //删除用户
  31. public void deleUser(int id) throws SQLException {
  32. Connection conn = DBUtil.getConnection();
  33. String sql = " delete from users where id=?";
  34. PreparedStatement ptmt = conn.prepareStatement(sql);
  35. ptmt.setInt(1, id);
  36. ptmt.executeUpdate();
  37. }
  38. //修改用户
  39. public void updateUser(Users u) throws SQLException {
  40. Connection conn = DBUtil.getConnection();
  41. String sql = " update users set "
  42. + " name=?,password=?,birthday=?,email=?,"
  43. + " status=?"
  44. + " where id=?";
  45. PreparedStatement ptmt = conn.prepareStatement(sql);
  46. ptmt.setString(1, u.getName());
  47. ptmt.setString(2, u.getPassword());
  48. ptmt.setDate(3, u.getBirthday());
  49. ptmt.setString(4, u.getEmail());
  50. ptmt.setInt(5, u.getStatus());
  51. ptmt.setInt(6, u.getId());
  52. ptmt.executeUpdate();
  53. }
  54. //根据id查询单个用户
  55. public Users get(int id) throws SQLException {
  56. Connection conn = DBUtil.getConnection();
  57. String sql = " select * from users where id=?";
  58. PreparedStatement ptmt = conn.prepareStatement(sql);
  59. ptmt.setInt(1, id);
  60. ResultSet rs = ptmt.executeQuery();
  61. Users u = null;
  62. while(rs.next()) {
  63. u = new Users();
  64. u.setId(rs.getInt("id"));
  65. u.setName(rs.getString("name"));
  66. u.setPassword(rs.getString("password"));
  67. u.setBirthday(rs.getDate("birthday"));
  68. u.setEmail(rs.getString("email"));
  69. u.setCreate_date(rs.getDate("create_date"));
  70. u.setStatus(rs.getInt("status"));
  71. }
  72. return u;
  73. }
  74. //遍历用户信息
  75. public List<Users> query() throws SQLException {
  76. List<Users> result = new ArrayList<Users>();
  77. Connection conn = DBUtil.getConnection();
  78. String sql = " select * from users";
  79. PreparedStatement ptmt = conn.prepareStatement(sql);
  80. ResultSet rs = ptmt.executeQuery();
  81. Users u = null;
  82. while(rs.next()) {
  83. u = new Users();
  84. u.setId(rs.getInt("id"));
  85. u.setName(rs.getString("name"));
  86. u.setPassword(rs.getString("password"));
  87. u.setBirthday(rs.getDate("birthday"));
  88. u.setEmail(rs.getString("email"));
  89. u.setCreate_date(rs.getDate("create_date"));
  90. u.setStatus(rs.getInt("status"));
  91. result.add(u);
  92. }
  93. return result;
  94. }
  95. }

UsersAction.java

  1. package com.liuyanzhao.action;
  2. import java.sql.Date;
  3. import java.sql.SQLException;
  4. import java.text.ParseException;
  5. import java.text.SimpleDateFormat;
  6. import java.util.List;
  7. import com.liuyanzhao.dao.UsersDAO;
  8. import com.liuyanzhao.model.Users;
  9. /*
  10. * @author LiuYanzhao
  11. */
  12. public class UsersAction {
  13. //添加用户
  14. public void add(Users u) throws SQLException, ParseException {
  15. UsersDAO dao = new UsersDAO();
  16. dao.addUsers(u);
  17. }
  18. //删除用户
  19. public void dele(int id) throws SQLException {
  20. UsersDAO dao = new UsersDAO();
  21. dao.deleUser(id);
  22. }
  23. //修改用户
  24. public void edit(Users u) throws SQLException {
  25. UsersDAO dao = new UsersDAO();
  26. dao.updateUser(u);
  27. }
  28. //根据id查询单条用户
  29. public Users get(int id) throws SQLException {
  30. UsersDAO dao = new UsersDAO();
  31. return dao.get(id);
  32. }
  33. //遍历查询所有用户
  34. public List<Users> query() throws SQLException {
  35. UsersDAO dao = new UsersDAO();
  36. return dao.query();
  37. }
  38. public static void main(String[] args) throws ParseException, SQLException {
  39. //添加用户测试
  40. /*Users u = new Users();
  41. u.setName("小田");
  42. u.setPassword("123456");
  43. u.setBirthday(new Date((new SimpleDateFormat("yyyy-MM-dd").parse("2006-8-10")).getTime()));
  44. u.setEmail("xiaotian@126.com");
  45. UsersAction action = new UsersAction();
  46. action.add(u);*/
  47. //删除用户测试
  48. /*UsersAction action2 = new UsersAction();
  49. action2.dele(5);*/
  50. //更新用户测试
  51. /*Users u3 = new Users();
  52. u3.setId(7);
  53. u3.setName("小雅");
  54. u3.setPassword("aaaaaa");
  55. u3.setBirthday(new Date((new SimpleDateFormat("yyyy-MM-dd").parse("2014-7-21")).getTime()));
  56. u3.setEmail("xiaoya@126.com");
  57. u3.setStatus(1);
  58. UsersAction action3 = new UsersAction();
  59. action3.edit(u3); */
  60. //查询用户测试,单条数据
  61. /*UsersAction action4 = new UsersAction();
  62. Users u4 = action4.get(7);
  63. System.out.println(u4.getId());
  64. System.out.println(u4.getName());
  65. System.out.println(u4.getPassword());
  66. System.out.println(u4.getBirthday());
  67. System.out.println(u4.getEmail());
  68. System.out.println(u4.getCreate_date());
  69. System.out.println(u4.getStatus());*/
  70. //查询所有用户信息,遍历
  71. UsersAction action5 = new UsersAction();
  72. List<Users> list = action5.query();
  73. for(int i=0;i<list.size();i++) {
  74. System.out.print(list.get(i).getId()+" ");
  75. System.out.print(list.get(i).getName()+" ");
  76. System.out.print(list.get(i).getPassword()+" ");
  77. System.out.print(list.get(i).getBirthday()+" ");
  78. System.out.print(list.get(i).getEmail()+" ");
  79. System.out.print(list.get(i).getCreate_date()+" ");
  80. System.out.print(list.get(i).getStatus()+" ");
  81. System.out.println();
  82. }
  83. }
  84. }

三、知识拓展

1、JDBC常用API和使用

2、MySQL常用语句

3、execute、executeUpdate、executeQuery三者的区别

4、Java中PreparedStatement和Statement区别

5、java中ArrayList实例讲解

6、Java中如何使某个类的对象唯一性,只能创建一个对象

本文链接:https://liuyanzhao.com/5323.html

JDBC实现增删改查功能相关推荐

  1. java jdbc标签jsp_jsp+servlet+javabean+jdbc实现增删改查和分页功能 案例源码

    [实例简介] 客户管理案例 1.目的:总结JDBC,和Servlet JSP结合到一起. 2.开发中的一些小技巧. 3.客户管理平台功能 * 添加客户 * 查询所有的客户的信息 * 修改客户信息 * ...

  2. molicode生成vue增删改查功能

    2019独角兽企业重金招聘Python工程师标准>>> molicode生成vue增删改查功能 背景描述 当前生成的页面主要应用于VUE前端UI框架 iview: https://i ...

  3. Java 实现Gbase数据库增删改查功能

    Java 实现Gbase数据库增删改查功能 具体代码如下 主要: 要记得在官网下载驱动包gbase-connector-java-8.3-bin.jar package com.advance.JDB ...

  4. MyBatis实现增删改查功能(总)

    文章目录 MyBatis实现增删改查功能(总) 一.创建数据库.表.数据 二.MyBatis的Maven项目创建 三.MyBatis的Maven模块创建 四.配置jar包pom.xml 五.MyBat ...

  5. 使用EF框架实现MVC的增删改查功能!!!Entity Framework

    一.什么是EF? ADO.NETEntity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.ADO.NET Entity Fram ...

  6. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!

    一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...

  7. ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...

    在 Web 编程中,经常需要处理用户请求数据,而用户请求数据的处理往往又涉及到数据存储与获取,支持存储数据的媒介很多,包括内存.文件系统.数据库等,接下来,学院君将花几个篇幅的教程来系统介绍 Go W ...

  8. java jdbc 增删改封装_JAVA JDBC 常规增删改查简单封装

    JAVA JDBC 常规增删改查简单封装,可满足大多基本要求 作用: 1, 查询列表是直接返回List对象,不必再遍历: 2, 单条查询直接返回对象: 3, 执行sql仅需一个方法搞定: packag ...

  9. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  10. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能

    前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...

最新文章

  1. Linux命令之more
  2. 使用TortoiseGit,设置ssh方式连接git仓库。
  3. git分支/标签操作
  4. VS2008显示代码行号
  5. apache的es的原理_Elasticsearch的原理简介
  6. python程序编译之后、找不到生成的pyc文件_为什么主要的可运行的Python脚本没有被编译为pyc文件,如模块?...
  7. 郁金香汇编代码注入怎么写看雪_世界黑客编程大赛冠军的汇编代码 你见过吗?...
  8. enum与int、String之间的转换
  9. sqlserver 只有函数和扩展存储过程才能从函数内部执行
  10. Symfony路由配置教程【已在腾讯课堂开课】
  11. fn+ 设置虚拟按键_华为手机打字震动在哪设置?很简单,只需这样操作
  12. 使用OpenCV探测来至运动的结构
  13. 高频易揭:美五大高频易访录
  14. 功能测试用例设计方法分享
  15. 恶意代码分析实战——反汇编
  16. 软件测试面试题:所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?
  17. 分享几个程序员接活赚外快的平台
  18. 1191 家谱树(拓扑排序)
  19. SolidPlant材料清单
  20. 将xlsx内容转成json

热门文章

  1. 人生苦短我用python(02)动态加载模块
  2. 【Xamarin】使用TLS 1.2保护Web请求
  3. SharePoint 2013 母版页修改后,无法添加应用程序
  4. 有趣的JavaScript数组
  5. 【Docker】02 Docker安装
  6. 查看linux系统端口占用情况
  7. 特征等宽离散化matlab程序_控制器的离散化(一)
  8. 什么是Prettier?
  9. jQuery简单好用的JavaScript代码库略解使用
  10. Java中面向对象和面向过程的简单理解以及共同点和区别