当前位置: 首页 > news >正文

java jdbc连接mysql数据库实现增删改查操作

点击打开链接http://www.jb51.net/article/88300.htm



package com.czgo.db;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtil { private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc"; private static final String UNAME = "root"; private static final String PWD = "root"; private static Connection conn = null; static { try { // 1.加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 2.获得数据库的连接 conn = DriverManager.getConnection(URL, UNAME, PWD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public static Connection getConnection() { return conn; } }

package com.czgo.model;
 
import java.io.Serializable;
 
/**
 * 实体类:女神类
 * 
 * @author AlanLee
 * 
 */
public class Goddess implements Serializable
{
  private static final long serialVersionUID = 1L;
 
  /**
   * 唯一主键
   */
  private Integer id;
  /**
   * 姓名
   */
  private String name;
  /**
   * 手机号码
   */
  private String mobie;
  /**
   * 电子邮件
   */
  private String email;
  /**
   * 家庭住址
   */
  private String address;
 
  public Integer getId()
  {
    return id;
  }
 
  public void setId(Integer id)
  {
    this.id = id;
  }
 
  public String getName()
  {
    return name;
  }
 
  public void setName(String name)
  {
    this.name = name;
  }
 
  public String getMobie()
  {
    return mobie;
  }
 
  public void setMobie(String mobie)
  {
    this.mobie = mobie;
  }
 
  public String getEmail()
  {
    return email;
  }
 
  public void setEmail(String email)
  {
    this.email = email;
  }
 
  public String getAddress()
  {
    return address;
  }
 
  public void setAddress(String address)
  {
    this.address = address;
  }
}

package com.czgo.dao;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
 
import com.czgo.db.DBUtil;
import com.czgo.model.Goddess;
 
/**
 * 数据层处理类
 * 
 * @author AlanLee
 * 
 */
public class GoddessDao
{
  /**
   * 查询全部女神
   * 
   * @return
   * @throws SQLException
   */
  public List<Goddess> query() throws SQLException
  {
    List<Goddess> goddessList = new ArrayList<Goddess>();
 
    // 获得数据库连接
    Connection conn = DBUtil.getConnection();
 
    StringBuilder sb = new StringBuilder();
    sb.append("select id,name,mobie,email,address from goddess");
 
    // 通过数据库的连接操作数据库,实现增删改查
    PreparedStatement ptmt = conn.prepareStatement(sb.toString());
 
    ResultSet rs = ptmt.executeQuery();
 
    Goddess goddess = null;
 
    while (rs.next())
    {
      goddess = new Goddess();
      goddess.setId(rs.getInt("id"));
      goddess.setName(rs.getString("name"));
      goddess.setMobie(rs.getString("mobie"));
      goddess.setEmail(rs.getString("email"));
      goddess.setAddress(rs.getString("address"));
 
      goddessList.add(goddess);
    }
    return goddessList;
  }
 
  /**
   * 查询单个女神
   * 
   * @return
   * @throws SQLException
   */
  public Goddess queryById(Integer id) throws SQLException
  {
    Goddess g = null;
 
    Connection conn = DBUtil.getConnection();
 
    String sql = "" + " select * from imooc_goddess " + " where id=? ";
 
    PreparedStatement ptmt = conn.prepareStatement(sql);
 
    ptmt.setInt(1, id);
 
    ResultSet rs = ptmt.executeQuery();
 
    while (rs.next())
    {
      g = new Goddess();
      g.setId(rs.getInt("id"));
      g.setName(rs.getString("name"));
      g.setMobie(rs.getString("mobie"));
      g.setEmail(rs.getString("email"));
      g.setAddress(rs.getString("address"));
    }
 
    return g;
  }
 
  /**
   * 添加女神
   * 
   * @throws SQLException
   */
  public void addGoddess(Goddess goddess) throws SQLException
  {
    // 获得数据库连接
    Connection conn = DBUtil.getConnection();
 
    String sql = "insert into goddess(name,mobie,email,address) values(?,?,?,?)";
 
    PreparedStatement ptmt = conn.prepareStatement(sql);
 
    ptmt.setString(1, goddess.getName());
    ptmt.setString(2, goddess.getMobie());
    ptmt.setString(3, goddess.getEmail());
    ptmt.setString(4, goddess.getAddress());
 
    ptmt.execute();
  }
 
  /**
   * 修改女神资料
   * 
   * @throws SQLException
   */
  public void updateGoddess(Goddess goddess) throws SQLException
  {
    Connection conn = DBUtil.getConnection();
 
    String sql = "update goddess set name=?,mobie=?,email=?,address=? where id=?";
 
    PreparedStatement ptmt = conn.prepareStatement(sql);
 
    ptmt.setString(1, goddess.getName());
    ptmt.setString(2, goddess.getMobie());
    ptmt.setString(3, goddess.getEmail());
    ptmt.setString(4, goddess.getAddress());
 
    ptmt.execute();
  }
 
  /**
   * 删除女神
   * 
   * @throws SQLException
   */
  public void deleteGoddess(Integer id) throws SQLException
  {
    Connection conn = DBUtil.getConnection();
 
    String sql = "delete from goddess where id=?";
 
    PreparedStatement ptmt = conn.prepareStatement(sql);
 
    ptmt.setInt(1, id);
 
    ptmt.execute();
  }
}

package com.czgo.action;
 
import java.sql.SQLException;
import java.util.List;
 
import com.czgo.dao.GoddessDao;
import com.czgo.model.Goddess;
 
/**
 * 控制层,直接在这里构建数据,界面的数据则通过请求传递接收即可,亦是同理
 * 
 * @author AlanLee
 * 
 */
public class GoddessAction
{
  /**
   * 新增女神
   * 
   * @param goddess
   * @throws Exception
   */
  public void add(Goddess goddess) throws Exception
  {
    GoddessDao dao = new GoddessDao();
    goddess.setName("苍井空");
    goddess.setMobie("52220000");
    goddess.setEmail("52220000@qq.com");
    goddess.setAddress("北京红灯区");
    dao.addGoddess(goddess);
  }
 
  /**
   * 查询单个女神
   * 
   * @param id
   * @return
   * @throws SQLException
   */
  public Goddess get(Integer id) throws SQLException
  {
    GoddessDao dao = new GoddessDao();
    return dao.queryById(id);
  }
 
  /**
   * 修改女神
   * 
   * @param goddess
   * @throws Exception
   */
  public void edit(Goddess goddess) throws Exception
  {
    GoddessDao dao = new GoddessDao();
    dao.updateGoddess(goddess);
  }
 
  /**
   * 删除女神
   * 
   * @param id
   * @throws SQLException
   */
  public void del(Integer id) throws SQLException
  {
    GoddessDao dao = new GoddessDao();
    dao.deleteGoddess(id);
  }
 
  /**
   * 查询全部女神
   * 
   * @return
   * @throws Exception
   */
  public List<Goddess> query() throws Exception
  {
    GoddessDao dao = new GoddessDao();
    return dao.query();
  }
 
  /**
   * 测试是否成功
   * 
   * @param args
   * @throws SQLException
   */
  public static void main(String[] args) throws SQLException
  {
    GoddessDao goddessDao = new GoddessDao();
 
    List<Goddess> goddessList = goddessDao.query();
 
    for (Goddess goddess : goddessList)
    {
      System.out.println(goddess.getName() + "," + goddess.getMobie() + "," + goddess.getEmail());
    }
  }
}


这样,一个简单的java jdbc 连接mysql数据库 实现增删改查便完成了,大家可以在查询的基础上试着去做一个高级查询,也就是多条件查询来巩固jdbc的使用。


相关文章:

  • VTK地自定义8个点绘制立方体
  • VTKDemo:绘制线段、立方体、多条线段、管线:
  • 科学计算可视化相关包安装教程:vtk, numpy, traits, mayavi, pyqt,pyKriging,
  • VTK运行绘图结果出错,报JVM问题
  • 多态,覆盖,重载
  • 多线程:Java中实现多线程的两种方式之间的区别
  • 查看python已经安装的包
  • java:VTKImagedata绘制三维体
  • python :sort() , sorted() , searchsorted(), np.linspace() ,mean()
  • Spring总结
  • IoC
  • 解决散点数据插值中的问题:输入含有 NaN 的数据
  • pykrige.ok3d.OrdinaryKriging3D函数定义分析
  • 克里金插值程序
  • mysql “group by ”与order by的研究
  • canvas绘制圆角头像
  • Codepen 每日精选(2018-3-25)
  • C语言笔记(第一章:C语言编程)
  • express.js的介绍及使用
  • gitlab-ci配置详解(一)
  • linux学习笔记
  • Linux中的硬链接与软链接
  • Vue ES6 Jade Scss Webpack Gulp
  • 爱情 北京女病人
  • 关于Java中分层中遇到的一些问题
  • 简单数学运算程序(不定期更新)
  • 解决iview多表头动态更改列元素发生的错误
  • 批量截取pdf文件
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • raise 与 raise ... from 的区别
  • ​人工智能书单(数学基础篇)
  • #{}和${}的区别?
  • #ifdef 的技巧用法
  • #vue3 实现前端下载excel文件模板功能
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二开)Flink 修改源码拓展 SQL 语法
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (力扣题库)跳跃游戏II(c++)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)SpringBoot3---尚硅谷总结
  • (转)visual stdio 书签功能介绍
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .FileZilla的使用和主动模式被动模式介绍
  • .net core webapi 大文件上传到wwwroot文件夹
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .net 程序发生了一个不可捕获的异常
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net开发时的诡异问题,button的onclick事件无效
  • .net连接oracle数据库
  • .project文件
  • [ C++ ] STL---string类的使用指南