JDBC实现增删改查功能
一、数据库结构
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
- package com.liuyanzhao.db;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- /*
- * @author LiuYanzhao
- */
- public class DBUtil {
- private static final String URL = "jdbc:mysql://127.0.0.1:3306/jdbc_study"
- + "?useUnicode=true&characterEncoding=utf8";//防止中文读取乱码
- private static final String USER = "root";
- private static final String PASSWORD = "";
- public static Connection conn = null;
- //静态代码块最先执行,先执行一次
- static {
- try {
- //加载驱动
- Class.forName("com.mysql.jdbc.Driver");
- //获取连接
- conn = DriverManager.getConnection(URL, USER, PASSWORD);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- //单例模式,使对象唯一性
- public static Connection getConnection() {
- return conn;
- }
- public static void main(String[] args) {
- }
- }
Users.java
- package com.liuyanzhao.model;
- import java.sql.Date;
- /*
- * @author LiuYanzhao
- */
- public class Users {
- private int id;
- private String name;
- private String password;
- private Date birthday;
- private String Email;
- private Date create_date;
- private int status;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public Date getBirthday() {
- return birthday;
- }
- public void setBirthday(Date birthday) {
- this.birthday = birthday;
- }
- public String getEmail() {
- return Email;
- }
- public void setEmail(String email) {
- Email = email;
- }
- public Date getCreate_date() {
- return create_date;
- }
- public void setCreate_date(Date create_date) {
- this.create_date = create_date;
- }
- public int getStatus() {
- return status;
- }
- public void setStatus(int status) {
- this.status = status;
- }
- }
UsersDAO.java
- package com.liuyanzhao.dao;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.text.ParseException;
- import java.util.ArrayList;
- import java.util.List;
- import com.liuyanzhao.db.DBUtil;
- import com.liuyanzhao.model.Users;
- /*
- * @author LiuYanzhao
- */
- public class UsersDAO {
- //添加用户
- public void addUsers(Users u) throws SQLException, ParseException {
- Connection conn = DBUtil.getConnection();
- String sql = " insert into users "
- + "(name,password,birthday,email,create_date,status)"
- + " value("
- + "?,?,?,?,current_date(),1"
- + ") ";
- PreparedStatement ptmt = conn.prepareStatement(sql);
- ptmt.setString(1, u.getName());
- ptmt.setString(2, u.getPassword());
- ptmt.setDate(3, u.getBirthday());
- ptmt.setString(4, u.getEmail());
- ptmt.executeUpdate();
- }
- //删除用户
- public void deleUser(int id) throws SQLException {
- Connection conn = DBUtil.getConnection();
- String sql = " delete from users where id=?";
- PreparedStatement ptmt = conn.prepareStatement(sql);
- ptmt.setInt(1, id);
- ptmt.executeUpdate();
- }
- //修改用户
- public void updateUser(Users u) throws SQLException {
- Connection conn = DBUtil.getConnection();
- String sql = " update users set "
- + " name=?,password=?,birthday=?,email=?,"
- + " status=?"
- + " where id=?";
- PreparedStatement ptmt = conn.prepareStatement(sql);
- ptmt.setString(1, u.getName());
- ptmt.setString(2, u.getPassword());
- ptmt.setDate(3, u.getBirthday());
- ptmt.setString(4, u.getEmail());
- ptmt.setInt(5, u.getStatus());
- ptmt.setInt(6, u.getId());
- ptmt.executeUpdate();
- }
- //根据id查询单个用户
- public Users get(int id) throws SQLException {
- Connection conn = DBUtil.getConnection();
- String sql = " select * from users where id=?";
- PreparedStatement ptmt = conn.prepareStatement(sql);
- ptmt.setInt(1, id);
- ResultSet rs = ptmt.executeQuery();
- Users u = null;
- while(rs.next()) {
- u = new Users();
- u.setId(rs.getInt("id"));
- u.setName(rs.getString("name"));
- u.setPassword(rs.getString("password"));
- u.setBirthday(rs.getDate("birthday"));
- u.setEmail(rs.getString("email"));
- u.setCreate_date(rs.getDate("create_date"));
- u.setStatus(rs.getInt("status"));
- }
- return u;
- }
- //遍历用户信息
- public List<Users> query() throws SQLException {
- List<Users> result = new ArrayList<Users>();
- Connection conn = DBUtil.getConnection();
- String sql = " select * from users";
- PreparedStatement ptmt = conn.prepareStatement(sql);
- ResultSet rs = ptmt.executeQuery();
- Users u = null;
- while(rs.next()) {
- u = new Users();
- u.setId(rs.getInt("id"));
- u.setName(rs.getString("name"));
- u.setPassword(rs.getString("password"));
- u.setBirthday(rs.getDate("birthday"));
- u.setEmail(rs.getString("email"));
- u.setCreate_date(rs.getDate("create_date"));
- u.setStatus(rs.getInt("status"));
- result.add(u);
- }
- return result;
- }
- }
UsersAction.java
- package com.liuyanzhao.action;
- import java.sql.Date;
- import java.sql.SQLException;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.List;
- import com.liuyanzhao.dao.UsersDAO;
- import com.liuyanzhao.model.Users;
- /*
- * @author LiuYanzhao
- */
- public class UsersAction {
- //添加用户
- public void add(Users u) throws SQLException, ParseException {
- UsersDAO dao = new UsersDAO();
- dao.addUsers(u);
- }
- //删除用户
- public void dele(int id) throws SQLException {
- UsersDAO dao = new UsersDAO();
- dao.deleUser(id);
- }
- //修改用户
- public void edit(Users u) throws SQLException {
- UsersDAO dao = new UsersDAO();
- dao.updateUser(u);
- }
- //根据id查询单条用户
- public Users get(int id) throws SQLException {
- UsersDAO dao = new UsersDAO();
- return dao.get(id);
- }
- //遍历查询所有用户
- public List<Users> query() throws SQLException {
- UsersDAO dao = new UsersDAO();
- return dao.query();
- }
- public static void main(String[] args) throws ParseException, SQLException {
- //添加用户测试
- /*Users u = new Users();
- u.setName("小田");
- u.setPassword("123456");
- u.setBirthday(new Date((new SimpleDateFormat("yyyy-MM-dd").parse("2006-8-10")).getTime()));
- u.setEmail("xiaotian@126.com");
- UsersAction action = new UsersAction();
- action.add(u);*/
- //删除用户测试
- /*UsersAction action2 = new UsersAction();
- action2.dele(5);*/
- //更新用户测试
- /*Users u3 = new Users();
- u3.setId(7);
- u3.setName("小雅");
- u3.setPassword("aaaaaa");
- u3.setBirthday(new Date((new SimpleDateFormat("yyyy-MM-dd").parse("2014-7-21")).getTime()));
- u3.setEmail("xiaoya@126.com");
- u3.setStatus(1);
- UsersAction action3 = new UsersAction();
- action3.edit(u3); */
- //查询用户测试,单条数据
- /*UsersAction action4 = new UsersAction();
- Users u4 = action4.get(7);
- System.out.println(u4.getId());
- System.out.println(u4.getName());
- System.out.println(u4.getPassword());
- System.out.println(u4.getBirthday());
- System.out.println(u4.getEmail());
- System.out.println(u4.getCreate_date());
- System.out.println(u4.getStatus());*/
- //查询所有用户信息,遍历
- UsersAction action5 = new UsersAction();
- List<Users> list = action5.query();
- for(int i=0;i<list.size();i++) {
- System.out.print(list.get(i).getId()+" ");
- System.out.print(list.get(i).getName()+" ");
- System.out.print(list.get(i).getPassword()+" ");
- System.out.print(list.get(i).getBirthday()+" ");
- System.out.print(list.get(i).getEmail()+" ");
- System.out.print(list.get(i).getCreate_date()+" ");
- System.out.print(list.get(i).getStatus()+" ");
- System.out.println();
- }
- }
- }
三、知识拓展
1、JDBC常用API和使用
2、MySQL常用语句
3、execute、executeUpdate、executeQuery三者的区别
4、Java中PreparedStatement和Statement区别
5、java中ArrayList实例讲解
6、Java中如何使某个类的对象唯一性,只能创建一个对象
本文链接:https://liuyanzhao.com/5323.html
JDBC实现增删改查功能相关推荐
- java jdbc标签jsp_jsp+servlet+javabean+jdbc实现增删改查和分页功能 案例源码
[实例简介] 客户管理案例 1.目的:总结JDBC,和Servlet JSP结合到一起. 2.开发中的一些小技巧. 3.客户管理平台功能 * 添加客户 * 查询所有的客户的信息 * 修改客户信息 * ...
- molicode生成vue增删改查功能
2019独角兽企业重金招聘Python工程师标准>>> molicode生成vue增删改查功能 背景描述 当前生成的页面主要应用于VUE前端UI框架 iview: https://i ...
- Java 实现Gbase数据库增删改查功能
Java 实现Gbase数据库增删改查功能 具体代码如下 主要: 要记得在官网下载驱动包gbase-connector-java-8.3-bin.jar package com.advance.JDB ...
- MyBatis实现增删改查功能(总)
文章目录 MyBatis实现增删改查功能(总) 一.创建数据库.表.数据 二.MyBatis的Maven项目创建 三.MyBatis的Maven模块创建 四.配置jar包pom.xml 五.MyBat ...
- 使用EF框架实现MVC的增删改查功能!!!Entity Framework
一.什么是EF? ADO.NETEntity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.ADO.NET Entity Fram ...
- 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!
一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...
- ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...
在 Web 编程中,经常需要处理用户请求数据,而用户请求数据的处理往往又涉及到数据存储与获取,支持存储数据的媒介很多,包括内存.文件系统.数据库等,接下来,学院君将花几个篇幅的教程来系统介绍 Go W ...
- java jdbc 增删改封装_JAVA JDBC 常规增删改查简单封装
JAVA JDBC 常规增删改查简单封装,可满足大多基本要求 作用: 1, 查询列表是直接返回List对象,不必再遍历: 2, 单条查询直接返回对象: 3, 执行sql仅需一个方法搞定: packag ...
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式 (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...
- ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...
最新文章
- Linux命令之more
- 使用TortoiseGit,设置ssh方式连接git仓库。
- git分支/标签操作
- VS2008显示代码行号
- apache的es的原理_Elasticsearch的原理简介
- python程序编译之后、找不到生成的pyc文件_为什么主要的可运行的Python脚本没有被编译为pyc文件,如模块?...
- 郁金香汇编代码注入怎么写看雪_世界黑客编程大赛冠军的汇编代码 你见过吗?...
- enum与int、String之间的转换
- sqlserver 只有函数和扩展存储过程才能从函数内部执行
- Symfony路由配置教程【已在腾讯课堂开课】
- fn+ 设置虚拟按键_华为手机打字震动在哪设置?很简单,只需这样操作
- 使用OpenCV探测来至运动的结构
- 高频易揭:美五大高频易访录
- 功能测试用例设计方法分享
- 恶意代码分析实战——反汇编
- 软件测试面试题:所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?
- 分享几个程序员接活赚外快的平台
- 1191 家谱树(拓扑排序)
- SolidPlant材料清单
- 将xlsx内容转成json