练习1

来源:互联网 发布:linux命令补全tab 编辑:程序博客网 时间:2024/06/10 09:19

DaoBase.java

package com.bdqn.dao2;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class DaoBase {    private static String driver;    private static String url;    private static String user="root";    private static String pwd="root";    private static Connection conn = null;    static{        init();    }    public static void init(){        Properties proper = new Properties();        //文件路径        String fileName = "database.properties";        //将配置文件加载到输入流        InputStream is = DaoBase.class.getClassLoader().getResourceAsStream(fileName);        //读取配置信息        try {            proper.load(is);            driver = proper.getProperty("driver");            url = proper.getProperty("url");            user = proper.getProperty("user");            pwd = proper.getProperty("pwd");        } catch (IOException e) {            e.printStackTrace();        }    }    //获取连接    public static Connection getConn(){        try {            Class.forName(driver);            conn = DriverManager.getConnection(url, user, pwd);        } catch (ClassNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return conn;    }    //增删改方法    public static int updates(String sql,Object[] Object){        int num = 0;        PreparedStatement ps = null;        conn = getConn();        try {            ps =  conn.prepareStatement(sql);            if(Object!=null && Object.length>0){                for (int i = 0; i < Object.length; i++) {                    ps.setObject((i+1), Object[i]);                }                num = ps.executeUpdate();            }        } catch (SQLException e) {            e.printStackTrace();        }finally{            close(conn, ps, null);        }        return num;    }    //关闭资源    public static void close(Connection conn, Statement sta,ResultSet rs){        try {            if(rs!=null){                rs.close();            }            if(conn!=null){                conn.close();            }            if(sta!=null){                sta.close();            }        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    //查询    public static ResultSet select(String sql){        ResultSet list = null;        conn = getConn();        try {            list =  conn.createStatement().executeQuery(sql);        } catch (SQLException e) {            e.printStackTrace();                }        return list;    }}>>> message = '''interpreter... prompt'''

Dao.java

代码块语法遵循标准markdown代码,例如:

package com.bdqn.dao2;import java.util.List;import com.bdqn.entity.Dept;public interface Dao {    //增加    int insert(Dept dept);    //删除    int delete(Dept dept);    //改    int update(Dept dept);    //全查    List<Dept> selectAll();    //根据id查询    List<Dept> selectId(int did);}>>> message = '''interpreter... prompt'''

DeptDao.java

代码块语法遵循标准markdown代码,例如:

package com.bdqn.dao.impl;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.bdqn.dao2.*;import com.bdqn.entity.Dept;public class DeptDao extends DaoBase implements Dao {    int num = 0;    //增加    public int insert(Dept dept) {        String sql = "insert into dept values(?,?,?)";        Object[] Object = {dept.getDid(),dept.getDname(),dept.getDage()};        num =  DaoBase.updates(sql, Object);        return num;    }    //删除    public int delete(Dept dept) {        String sql = "delete from dept where did = ?";        Object[] Object = {dept.getDid()};        num = DaoBase.updates(sql, Object);        return num;    }    //更新    public int update(Dept dept) {        String sql = "update dept set dname=? where did=?";        Object[] Object = {dept.getDname(),dept.getDid()};        num = DaoBase.updates(sql, Object);        return num;    }    //查询全部    public List<Dept> selectAll() {        List<Dept> list = new ArrayList<Dept>();        String sql = "select *from dept";        ResultSet rs = DaoBase.select(sql);        try {            while(rs.next()){                Dept dept = new Dept();                dept.setDid( rs.getInt("did"));                dept.setDname(rs.getString("dname"));                dept.setDage(rs.getInt("dage"));                list.add(dept);            }        } catch (SQLException e) {            e.printStackTrace();        } finally {            super.close(null, null, rs);        }           return list;    }    //根据id查询    public List<Dept> selectId(int did) {        List<Dept> list = new ArrayList<Dept>();        String sql = "select did,dname,dage from dept where did="+did;        ResultSet rs = DaoBase.select(sql);        try {            while(rs.next()){                Dept dept = new Dept();                dept.setDid( rs.getInt("did"));                dept.setDname(rs.getString("dname"));                dept.setDage(rs.getInt("dage"));                list.add(dept);            }        } catch (SQLException e) {            e.printStackTrace();        } finally {            super.close(null, null, rs);        }           return list;    }}>>> message = '''interpreter... prompt'''

Dept.java

代码块语法遵循标准markdown代码,例如:

package com.bdqn.entity;public class Dept {    private int did;    private String dname;    private int dage;    public int getDid() {        return did;    }    public void setDid(int did) {        this.did = did;    }    public String getDname() {        return dname;    }    public void setDname(String dname) {        this.dname = dname;    }    public int getDage() {        return dage;    }    public void setDage(int dage) {        this.dage = dage;    }    public Dept(int did, String dname, int dage) {        this.did = did;        this.dname = dname;        this.dage = dage;    }    public Dept() {    }    @Override    public String toString() {        return "Dept [did=" + did + ", dname=" + dname + ", dage=" + dage + "]";    }}>>> message = '''interpreter... prompt'''

Test.java

代码块语法遵循标准markdown代码,例如:

package com.bdqn.utils;import java.util.ArrayList;import java.util.List;import com.bdqn.dao.impl.DeptDao;import com.bdqn.entity.Dept;public class Test {    public static void main(String[] args) {        int num;        List<Dept> list = new ArrayList<Dept>();        DeptDao dp = new DeptDao();        //添加数据        dp.insert(new Dept(1, "01", 20));           dp.insert(new Dept(2, "02", 21));        dp.insert(new Dept(3, "03", 22));        dp.insert(new Dept(4, "04", 19));        dp.insert(new Dept(5, "05", 24));        /*//删除数据        Dept dept1 = new Dept();        dept1.setDid(1);        num = dp.delete(dept1);        System.out.println(num);        //修改数据        Dept dept2 = new Dept();        dept2.setDname("修改名字");        num =dp.update(dept2);        System.out.println(num);*/        //全部查询        list = dp.selectAll();        for(Dept de : list){            System.out.println(de.toString());        }        //根据id查询        list = dp.selectId(2);        for(Dept de : list){            System.out.println(de.toString());        }    }}>>> message = '''interpreter... prompt'''
原创粉丝点击