第二节 JDBC 基本操作-增删查改(一)
来源:互联网 发布:hbulider js无法跳转 编辑:程序博客网 时间:2024/06/05 05:19
JDBC 基本操作(一)
通过之前的操作已经对JDBC连接数据库有了一定得了解,使用Jdbc连接数据库之后,可以执行sql语句,
实现数据库的基本操作。本节通过具体的案例详细讲解如何使用JDBC操作users表。先建立工具包,操作数据库是调用方法。
(1)在工程下新建一个包,jdbc.domain,在该包下创建一个用于保存用户数据的User类。
例 2-1.User.java
package jdbc.domain;import java.sql.Date;public class User {private int id;private String username;private String password;private String email;public Date birthday;public int getId(){return id;}public void setId(int id){this.id=id;}public String getUsername(){return username;}public void setUsername(String username){this.username=username;}public String password(){return password;}public void setPassword(String password){this.password=password;}public String getEmail(){return email;}public void setEmail(String email){this.email=email;}public Date getBirthday(){return birthday;}public void setBirthday(Date birthday){this.birthday=birthday;}}
(2)新建一个包jdbc.utils,包中包含封装这些工具类。(加载数据库驱动,建立数据库连接以及关闭数据库)
package jdbc.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Utils {//加载数据库驱动,并建立数据库连接public static Connection getConnection()throws SQLException, ClassNotFoundException{Class.forName("com.myssql.jdbc.Driver");String url="jdbc:mysql://localhost:3306/chapter01";String username="root";String password="****";Connection conn=(Connection)DriverManager.getConnection(url,username,password);return conn;}//关闭数据库连接public static void release(Statement stmt,Connection conn){if(stmt !=null){ try{ stmt.close(); }catch(SQLException e){ e.printStackTrace(); } stmt=null; } if(conn !=null){ try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } conn=null; } }public static void release(ResultSet rs,Statement stmt,Connection conn){if(rs!=null){try{rs.close();}catch(SQLException e){e.printStackTrace();}rs=null;}release(stmt,conn);}}
(3)新建一个包,在包中创建一个类UserDao,该类封装对数据表的增删查改操作。
package jdbc.example.dao;import jdbc.domain.User;import jdbc.utils.Utils;import java.sql.*;import java.text.SimpleDateFormat;import java.util.ArrayList;public class UserDao {//添加用户操作public boolean insert(User user){Connection conn=null;Statement stmt=null;ResultSet rs=null;//public class SimpleDateFormt extends SimpleDateFormat {//}try{//获取数据连接conn=Utils.getConnection();stmt=conn.createStatement();//发送SQL数据SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");String birthday=sdf.format(user.getBirthday());String sql="INSERT INTO users(id,name,password,email,birthday)"+"VALUES("+user.getId()+",'"+user.getUsername()+"','"+user.getPassword()+"','"+user.getEmail()+"','"+birthday+"')";int num=stmt.executeUpdate(sql);if(num>0){return true;}return false;}catch(Exception e){e.printStackTrace();}finally{Utils.release(rs, stmt,conn);//1}return false;}//查询所有user对象public ArrayList<User>findAll(){//return null;Connection conn=null; Statement stmt=null;ResultSet rs=null;ArrayList<User>list=new ArrayList<User>();try{//获取数据连接conn=Utils.getConnection();//获取Statement对象stmt=conn.createStatement();//发送SQL数据String sql="SELECT*FROM users";rs=stmt.executeQuery(sql);//处理结果集while(rs.next()){User user=new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("name"));user.setPassword(rs.getString("password"));user.setEmail(rs.getString("email"));user.setBirthday(rs.getDate("birthday"));list.add(user);}return list;}catch(Exception e){e.printStackTrace();}finally{Utils.release(rs, stmt,conn);//2}return null;}//根据id查找指定的userpublic User find(int id){ Connection conn=null; Statement stmt=null;ResultSet rs=null;try{//获取数据连接conn=Utils.getConnection();//获取Statement对象stmt=conn.createStatement();//发送SQL数据String sql="SELECT*FROM users WHERE id="+id;rs=stmt.executeQuery(sql);//处理结果集while(rs.next()){User user=new User();user.setId(rs.getInt("id"));user.setUsername(rs.getString("name"));user.setPassword(rs.getString("password"));user.setEmail(rs.getString("email"));user.setBirthday(rs.getDate("birthday"));return user;}return null;}catch(Exception e){e.printStackTrace();}finally{Utils.release(rs, stmt,conn);//3}return null;}//删除用户public boolean delete(int id)throws SQLException{Connection conn=null;Statement stmt=null;ResultSet rs=null;try{//获取数据连接conn=Utils.getConnection();//获取Statement对象stmt=conn.createStatement();//发送SQL语句String sql="DELETE FROM users WHERE id="+id;int num=stmt.executeUpdate(sql);if(num>0){return true;}return false;}catch(Exception e){e.printStackTrace();}finally{Utils.release(rs, stmt,conn);}return false; }//修改用户public boolean update(User user){Connection conn=null;Statement stmt=null;ResultSet rs=null;try{//获取数据连接conn=Utils.getConnection();//获取Statement对象stmt=conn.createStatement();//发送SQL数据SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");String birthday=sdf.format(user.getBirthday());String sql="UPDATE users set name='"+user.getUsername()+"',password='"+user.getPassword()+"',email='"+user.getEmail()+"',birthday='"+birthday+"'WHERE id= "+user.getId();int num=stmt.executeUpdate(sql);if(num>0){return true;}return false;}catch(Exception e){e.printStackTrace();}finally{Utils.release(rs, stmt,conn);//5}return false; }}
阅读全文
0 0
- 第二节 JDBC 基本操作-增删查改(一)
- JDBC之基本操作增删查改
- JDBC(一)简单增删改查
- JDBC增删改查操作
- SQLite 基本操作(增删改查)
- 增删查改基本操作
- 基本操作增删改查
- JDBC基本源码演示增删改查
- jdbc 操作 mysql 增删改查
- java之JDBC增删改查操作
- jdbc增删改查操作 存储过程
- JDBC------>增删改查操作(没有优化)
- JDBC实现增删查改操作
- 7.JDBC增删改查操作
- JDBC 增删改查操作示例
- django数据库基本操作-增删改查(tip)-基本
- jsp+servlet+jdbc增删改查功能实现(一)
- MySQL---操作数据表基本操作(增删改查)
- 数据结构基础温故-6.查找(上):基本查找与树表查找
- 卡片游戏
- QT BUTP 个人小工具 源码
- 关于activiti连接数据库超时问题—— The driver has not received any packets from the server
- vue + datatables插件
- 第二节 JDBC 基本操作-增删查改(一)
- Tomcat支持的JDK、JSP、Servlet、EL 、WebSocket 和JASPIC的版本
- SDN必须知道的十大问题
- C++中密集运算的并行化(OpenMP,PPL)
- SoapUI接口测试工具学习笔记整理
- Leetcode 384 Shuffle an Array
- 【教程】记录:python基础爬虫代码(下载妹子福利图片)
- 关于微信聊天中的语音开发
- 一起来存方法