栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据库操作工具(CRUD)

数据库操作工具(CRUD)

package connectionutil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionUtil {
    private static String URL="jdbc:mysql://localhost:3307/scott"+"?useSSL=false&useUnicode=true"+"&characterEncoding=UTF-8&serverTimezone=UTC";
    //	private static String URL = "jdbc:mysql://localhost:3307/scott" +"?useUnicode=true&useJDBCCompliantTimezoneShift=true"+"&useLegacyDatetimeCode=false&serverTimezone=UTC";
    private static String DRIVER="com.mysql.cj.jdbc.Driver";
    private static String USER = "biubiu";
    private static String PASSWORD = "123456";
    //加载驱动
    static{
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    public static Connection getConnection(){
        try {
            return DriverManager.getConnection(URL,USER,PASSWORD);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
    public static void close(Connection conn){
        try {
            conn.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

package connectionutil;
import java.io.Serializable;
import java.util.Date;

public class Emp implements Serializable {
    private Integer empno;
    private String ename;
    private String job;
    private Integer mgr;
    private Double sal;
    private Date hiredate;
    private Double comm;
    private Integer deptno;

    public Emp() {
    }

    public Emp(Integer empno, String ename, String job, Integer mgr, Double sal, Date hiredate, Double comm, Integer deptno) {
        this.empno = empno;
        this.ename = ename;
        this.job = job;
        this.mgr = mgr;
        this.sal = sal;
        this.hiredate = hiredate;
        this.comm = comm;
        this.deptno = deptno;
    }

    public Integer getEmpno() {
        return empno;
    }

    public void setEmpno(Integer empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public Integer getMgr() {
        return mgr;
    }

    public void setMgr(Integer mgr) {
        this.mgr = mgr;
    }

    public Double getSal() {
        return sal;
    }

    public void setSal(Double sal) {
        this.sal = sal;
    }

    public Date getHiredate() {
        return hiredate;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public Double getComm() {
        return comm;
    }

    public void setComm(Double comm) {
        this.comm = comm;
    }

    public Integer getDeptno() {
        return deptno;
    }

    public void setDeptno(Integer deptno) {
        this.deptno = deptno;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "empno=" + empno +
                ", ename='" + ename + ''' +
                ", job='" + job + ''' +
                ", mgr=" + mgr +
                ", sal=" + sal +
                ", hiredate=" + hiredate +
                ", comm=" + comm +
                ", deptno=" + deptno +
                '}';
    }
}

package connectionutil.demo;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class Dbuttil {
    private static PreparedStatement pst;
    private static ResultSet rst;

    
    public static int remove(Connection conn,String sql,Object...params) throws Exception{
        pst = conn.prepareStatement(sql);
        for (int i =0;i ids)throws Exception{
        Iterator iter = ids.iterator();
        while (iter.hasNext()){
            sql.append(iter.next()+",");
        }
        sql.delete(sql.length()-1,sql.length());
        sql.append(")");
        pst = conn.prepareStatement(sql.toString());//必须是String类型
        //执行语句
        return pst.executeUpdate();
    }

    
    public static  T selectOne(Connection conn,String sql,Class clz,Object...params) throws Exception{
        pst = conn.prepareStatement(sql);
        for (int i=0;i List selectList(Connection conn,String sql,Class clz,Object...params) throws Exception{
        pst = conn.prepareStatement(sql);
        List listObjs = new ArrayList<>();
        for(int i = 0;i int save(Connection conn, String sql, T vo, boolean getAutokey) throws Exception {
        pst = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
        //为sql中的占位符赋值
        //INSERT INTO emp(ename,job,sal,hiredate,mgr,comm,deptno) VALUES(?,?,?,?,?,?,?);
        //取得列字段的名称,并保存在数组中
        String [] columns = sql.split("\(")[1].split("\)")[0].split(",");
        //利用放着将vo对象中的属性值取出来
        Class cls = vo.getClass();
        for(int i = 0;i  int edit(Connection conn,String sql,T vo) throws Exception{
        //对sql语句进行预编译
        pst = conn.prepareStatement(sql);
        Class cls = vo.getClass();
        //UPDATE emp set ename=?,job=?,sal=? WHERe empno = ?;
        String [] columns = sql.split("WHERe")[0].split("SET")[1].trim().split(",");
        //[ename=? job=? sal=?]
        //遍历字符串数组
        for (int i = 0;i  int edit(Connection conn,String sql,Object...params) throws Exception{
        //对sql语句进行预编译
        pst = conn.prepareStatement(sql);
        //UPDATE emp set ename=?,job=?,sal=? WHERe empno = ?;
        for (int i = 0;i 
package connectionutil;
import connectionutil.demo.Dbuttil;
import org.omg.CORBA.OBJECT_NOT_EXIST;

import java.sql.*;
import java.util.Date;
import java.util.Iterator;
import java.util.Set;

public class MysqlTest {
    public static void main(String[] args) throws Exception {
        //Emp emp = new Emp(1002,"xxxx","xxxx",7788,1000.0,new Date(),1000.0,10);
        //Emp emp = new Emp(7904,"yyy","yyy",7788,1000.0,new Date(),1000.0,10);
        System.out.println(update("jack","president",10000.0,7904));
    }
    
    public  static  void getEmpByid(Integer id) throws SQLException {
        //取得连接对象
        Connection conn = ConnectionUtil.getConnection();
        try {
            //准备sql语句
            String sql = "SELECT empno,ename,job,hiredate,sal FROM emp WHERe empno ="+id;
            //转换指令
            PreparedStatement pst = conn.prepareStatement(sql);
            //执行语句
            ResultSet rst = pst.executeQuery();
            while (rst.next()){
                System.out.println("雇员编号:"+rst.getObject("empno")+",雇员姓名"+rst.getObject("ename")+",入职日期"+
                        rst.getObject("hiredate")+",薪资"+rst.getObject("sal"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //关闭连接
            ConnectionUtil.close(conn);
        }

    }
    
    public static  void getEmpData(String kw,Integer cp,Integer ls) throws SQLException {
        if (kw==null){
            kw = "";
        }
        kw="'%"+kw+"%'";
        //处理页数和数据量
        //获取当前页第一行数据的索引。数据的索引从0开始
        //获取连接对象
        Connection conn = ConnectionUtil.getConnection();
        try {
            //准备sql语句
            String sql = "SELECt * FROM emp WHERe ename LIKE "+kw+" limit "+(cp-1)*ls+","+ls;//注意关键字之间的空格
            //指令处理
            PreparedStatement pst = conn.prepareStatement(sql);
            ResultSet rst = pst.executeQuery();
            while (rst.next()){
                System.out.println("雇员编号:"+rst.getObject("empno")+",雇员姓名"+rst.getObject("ename")+",入职日期"+
                        rst.getObject("hiredate")+",薪资"+rst.getObject("sal"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            ConnectionUtil.close(conn);
        }
    }

    
    public static boolean deletemp(Set ids)throws Exception{
        //取得连接对象
        Connection conn = ConnectionUtil.getConnection();
        //准备将要执行的SQL语句
        StringBuffer sql = new StringBuffer("DELETE FROM emp where empno in(");
        Iterator iterator = ids.iterator();
        while (iterator.hasNext()){
            Integer id = iterator.next();
            sql.append(id+",");
        }
        //最后一个empno后有一个逗号,且在语句后面加一个)
        sql.delete(sql.length()-1,sql.length());//删除最后一个逗号
        sql.append(")");
        //取得预编译的对象
        PreparedStatement pst=conn.prepareStatement(sql.toString());
        //执行语句
        int row = pst.executeUpdate();
        //关闭连接
        ConnectionUtil.close(conn);
        return row>0;
    }

    
    public static boolean update(Emp emp) throws Exception{
        //取得连接对象
        Connection conn = ConnectionUtil.getConnection();
        //准备sql语句
        String sql = "UPDATE emp SET ename = ?,job = ?,sal = ? WHERe empno = ?";
        return Dbuttil.edit(conn,sql,emp)>0;
    }
    public static boolean update(Object...params) throws Exception{
        //取得连接对象
        Connection conn = ConnectionUtil.getConnection();
        //准备sql语句
        String sql = "UPDATE emp SET ename = ?,job = ?,sal = ? WHERe empno = ?";
        return Dbuttil.edit(conn,sql,params)>0;
    }


    
    public static boolean insertEmp(Emp emp) throws Exception{
        //取得连接对象
        Connection conn = ConnectionUtil.getConnection();
        //定义语句
        //String sql = "INSERT INTO emp(ename,job,sal,hiredate,mgr,comm,deptno) VALUES(?,?,?,?,?,?,?)";
        String sql = "INSERT INTO emp(ename,job,sal) VALUES(?,?,?)";
        return Dbuttil.save(conn,sql,emp,false)>0;
    }

}

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号