回顾JDBC所写的demo

来源:互联网 发布:mysql添加语句怎么写 编辑:程序博客网 时间:2024/06/12 00:35
我在敲这个demo遇到了程序向数据库导入数据出现中文乱码的问题,解决的方式可以在[这里]看到。(http://blog.csdn.net/sushengmiyan/article/details/7523278)   这个demo我没有关闭connection,需要借鉴的朋友注意自己关闭。关于这个demo大家有什么意见请在下方留言或者私信我,谢谢各位。

女神类

package com.imooc.pojo;import java.util.Date;public class Goddness {    private int id;    private String user_name;    private String sex;    private int age;    private Date birthday;    private String email;    private String mobile;    private String create_user;    private Date create_date;    private String update_user;    private Date update_date;    private int isdel;    public Goddness() {        super();        // TODO Auto-generated constructor stub    }    public Goddness(int id, String user_name, int age, Date birthday,            String mobile) {        super();        this.id = id;        this.user_name = user_name;        this.age = age;        this.birthday = birthday;        this.mobile = mobile;    }    public Goddness( String user_name, String sex, int age,            Date birthday, String email, String mobile, String create_user,            Date create_date, String update_user, Date update_date, int isdel) {        super();        this.user_name = user_name;        this.sex = sex;        this.age = age;        this.birthday = birthday;        this.email = email;        this.mobile = mobile;        this.create_user = create_user;        this.create_date = create_date;        this.update_user = update_user;        this.update_date = update_date;        this.isdel = isdel;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getUser_name() {        return user_name;    }    public void setUser_name(String user_name) {        this.user_name = user_name;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public Date getBirthday() {        return birthday;    }    public void setBirthday(Date birthday) {        this.birthday = birthday;    }    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    public String getMobile() {        return mobile;    }    public void setMobile(String mobile) {        this.mobile = mobile;    }    public String getCreate_user() {        return create_user;    }    public void setCreate_user(String create_user) {        this.create_user = create_user;    }    public Date getCreate_date() {        return create_date;    }    public void setCreate_date(Date create_date) {        this.create_date = create_date;    }    public String getUpdate_user() {        return update_user;    }    public void setUpdate_user(String update_user) {        this.update_user = update_user;    }    public Date getUpdate_date() {        return update_date;    }    public void setUpdate_date(Date update_date) {        this.update_date = update_date;    }    public int getIsdel() {        return isdel;    }    public void setIsdel(int isdel) {        this.isdel = isdel;    }    @Override    public String toString() {        return "Goddness [id=" + id + ", user_name=" + user_name + ", sex="                + sex + ", age=" + age + ", birthday=" + birthday + ", email="                + email + ", mobile=" + mobile + ", create_user=" + create_user                + ", create_date=" + create_date + ", update_user="                + update_user + ", update_date=" + update_date + ", isdel="                + isdel + "]";    }}

JDBC工具类

package com.imooc.JDBCUtil;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class JDBCUtil {    private final static String URL = "jdbc:mysql://localhost:3306/imooc?useUnicode=true&characterEncoding=gbk";    private final static String USERNAME = "dengdi";    private final static String PASSWORD = "root";    private static Connection connection = null;    static {        try {            Class.forName("com.mysql.jdbc.Driver");            connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);        } catch (SQLException e) {            e.printStackTrace();        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public static Connection getConnection() {        return connection;    }}

dao层实现类

package com.imooc.dao;import java.sql.Connection;import java.sql.Date;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.imooc.JDBCUtil.JDBCUtil;import com.imooc.pojo.Goddness;public class GoddnessDaoImp implements GoddessnDao {    /*     * (non-Javadoc)     *      * @see com.imooc.dao.GoddessnDao#insert(com.imooc.pojo.Goddness)     */    @Override    public void insert(Goddness god) {        Connection con = JDBCUtil.getConnection();        String sql = "INSERT INTO imooc_goddess(user_name,sex,age,birthday,"                + "email,mobile,create_user,create_date,"                + "update_user,update_date,isdel) "                + "VALUES(?,'女',?,?,?,?,'Administrator',CURRENT_DATE(),'Administrator',CURRENT_DATE(),1)";        PreparedStatement pre = null;        try {            pre = con.prepareStatement(sql);            pre.setString(1, god.getUser_name());            pre.setInt(2, god.getAge());            pre.setDate(3, new Date(god.getBirthday().getTime()));            pre.setString(4, god.getEmail());            pre.setString(5, god.getMobile());            pre.execute();            pre.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /*     * (non-Javadoc)     *      * @see com.imooc.dao.GoddessnDao#delete(int)     */    @Override    public void delete(int id) {        Connection con = JDBCUtil.getConnection();        String sql = "DELETE FROM imooc_goddess WHERE id=? ";        PreparedStatement pre = null;        try {            pre = con.prepareStatement(sql);            pre.setInt(1, id);            pre.execute();            pre.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /*     * (non-Javadoc)     *      * @see com.imooc.dao.GoddessnDao#update(java.lang.String, int)     */    @Override    public void update(String user_name, int id) {        Connection con = JDBCUtil.getConnection();        String sql = "UPDATE imooc_goddess SET user_name=? WHERE id=?";        PreparedStatement pre = null;        try {            pre = con.prepareStatement(sql);            pre.setString(1, user_name);            pre.setInt(2, id);            pre.executeUpdate();            pre.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    /*     * (non-Javadoc)     *      * @see com.imooc.dao.GoddessnDao#find(int)     */    @Override    public Goddness find(int id) {        Goddness goddness = null;        Connection con = JDBCUtil.getConnection();        String sql = "SELECT * FROM imooc_goddess WHERE id=?";        PreparedStatement pre = null;        ResultSet rs = null;        try {            pre = con.prepareStatement(sql);            pre.setInt(1, id);            rs = pre.executeQuery();            while (rs.next()) {                goddness = new Goddness(rs.getString("user_name"),                        rs.getString("sex"), rs.getInt("age"),                        rs.getDate("birthday"), rs.getString("email"),                        rs.getString("mobile"), rs.getString("create_user"),                        rs.getDate("create_date"), rs.getString("update_user"),                        rs.getDate("update_date"), rs.getInt("isdel"));            }            rs.close();            pre.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return goddness;    }    /*     * (non-Javadoc)     *      * @see com.imooc.dao.GoddessnDao#get()     */    @Override    public List<Goddness> query() {        List<Goddness> list = new ArrayList<Goddness>();        Connection con = JDBCUtil.getConnection();        String sql = "SELECT id,user_name,age,birthday,mobile FROM imooc_goddess";        PreparedStatement pre = null;        ResultSet rs = null;        try {            pre = con.prepareStatement(sql);            rs = pre.executeQuery();            while (rs.next()) {                Goddness goddness = new Goddness(rs.getInt("id"),                        rs.getString("user_name"), rs.getInt("age"),                        rs.getDate("birthday"), rs.getString("mobile"));                list.add(goddness);            }            rs.close();            pre.close();        } catch (SQLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return list;    }}

dao接口类

package com.imooc.dao;import java.util.List;import com.imooc.pojo.Goddness;public interface GoddessnDao {    public abstract void insert(Goddness god);    public abstract void delete(int id);    public abstract void update(String user_name, int id);    public abstract Goddness find(int id);    public abstract List<Goddness> query();}

服务层(也就是action层)实现类

package com.imooc.service;import java.util.List;import com.imooc.dao.GoddessnDao;import com.imooc.dao.GoddnessDaoImp;import com.imooc.pojo.Goddness;public class GoddessnServiceImp implements GoddnessService {    private GoddessnDao gd;    public GoddessnServiceImp() {        gd=new GoddnessDaoImp();    }    /* (non-Javadoc)     * @see com.imooc.service.GoddnessService#insert(com.imooc.pojo.Goddness)     */    @Override    public void insert(Goddness god) {        gd.insert(god);    }    /* (non-Javadoc)     * @see com.imooc.service.GoddnessService#delete(int)     */    @Override    public void delete(int id) {        gd.delete(id);    }    /* (non-Javadoc)     * @see com.imooc.service.GoddnessService#update(java.lang.String, int)     */    @Override    public void update(String user_name, int id) {        gd.update(user_name, id);    }    /* (non-Javadoc)     * @see com.imooc.service.GoddnessService#find(int)     */    @Override    public Goddness find(int id) {        return gd.find(id);    }    /* (non-Javadoc)     * @see com.imooc.service.GoddnessService#get()     */    @Override    public List<Goddness> query() {        return gd.query();    }}

服务层接口类

package com.imooc.service;import java.util.List;import com.imooc.pojo.Goddness;public interface GoddnessService {    public abstract void insert(Goddness god);    public abstract void delete(int id);    public abstract void update(String user_name, int id);    public abstract Goddness find(int id);    public abstract List<Goddness> query();}

视图层(在后台输出的)

package com.imooc.view;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import java.util.Scanner;import com.imooc.pojo.Goddness;import com.imooc.service.GoddessnServiceImp;import com.imooc.service.GoddnessService;public class GoddnessView {    private static final String CONTEXT = "欢迎来到女神禁区:\n" + "下面是女神禁区的功能列表:\n"            + "[MIAN/M]主菜单:\n" + "[QUERY/Q]查看全部女神的信息:\n"            + "[GET/G]查看某位女神的详细信息:\n" + "[ADD/A]添加自己心仪的女神:\n"            + "[UPDATE/U]更新女神信息:\n" + "[DELETE/D]删除女神信息:\n"            + "[EXIT/E]退出女神禁区:";    private static final String OPERATION_MAIN = "MAIN";    private static final String OPERATION_QUERY = "QUERY";    private static final String OPERATION_GET = "GET";    private static final String OPERATION_ADD = "ADD";    private static final String OPERATION_UPDATE = "UPDATE";    private static final String OPERATION_DELETE = "DELETE";    private static final String OPERATION_SEARCH = "SEARCH";    private static final String OPERATION_EXIT = "EXIT";    public static void main(String[] args) {        System.out.println(CONTEXT);        GoddnessService gs=new GoddessnServiceImp();        Scanner sc = new Scanner(System.in);        String prenious=null;        Goddness goddness=new Goddness();        int step=1;        while (true) {            String in = sc.next();            if (OPERATION_MAIN.equals(in.toUpperCase())                    || OPERATION_MAIN.substring(0, 1).equals(in.toUpperCase())) {                System.out.println(CONTEXT);            }            else if (OPERATION_QUERY.equals(in.toUpperCase())                    || OPERATION_QUERY.substring(0, 1).equals(in.toUpperCase())) {                List<Goddness> list=gs.query();                for (Goddness goddness01 : list) {                    System.out.println("ID:"+goddness01.getId());                    System.out.println("姓名:"+goddness01.getUser_name());                    System.out.println("年龄:"+goddness01.getAge());                    System.out.println("生日:"+goddness01.getBirthday());                    System.out.println("电话:"+goddness01.getMobile());                }            }            else if(OPERATION_GET.equals(in.toUpperCase())                    || OPERATION_GET.substring(0, 1).equals(in.toUpperCase())                    || OPERATION_GET.equals(prenious)){                prenious=OPERATION_GET;                int id=0;                if(step==1){                    System.out.println("请输入你想要查询的女神ID:");                }                if(step==2){                    id=Integer.valueOf(in);                    Goddness g=gs.find(id);                    System.out.println(g);                    step=0;                    prenious=null;                }                step++;//              System.out.println(step);            }            else if(OPERATION_ADD.equals(in.toUpperCase())                    || OPERATION_ADD.substring(0, 1).equals(in.toUpperCase())                    || OPERATION_ADD.equals(prenious)){                prenious=OPERATION_ADD;                if(step==1){                    System.out.println("请输入女神姓名:");                }                if(step==2){                    goddness.setUser_name(in);                    System.out.println("请输入女神年龄:");                }                if(step==3){                    goddness.setAge(Integer.valueOf(in));                    System.out.println("请输入女神生日(格式为:yyyy-MM-dd):");                }                if(step==4){                    Date date=null;                    try {                        date=new SimpleDateFormat("yyyy-MM-dd").parse(in);                    } catch (ParseException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                    goddness.setBirthday(date);                    System.out.println("请输入女神邮箱:");                }                if(step==5){                    goddness.setEmail(in);                    System.out.println("请输入女神电话:");                }                if(step==6){                    goddness.setMobile(in);                    gs.insert(goddness);                    System.out.println("创建女神成功!");                    step=0;                    prenious=null;                }                step++;            }            else if(OPERATION_UPDATE.equals(in.toUpperCase())                    || OPERATION_UPDATE.substring(0, 1).equals(in.toUpperCase())                    || OPERATION_UPDATE.equals(prenious)){                prenious=OPERATION_UPDATE;                int id=0;                String name;                if(step==1){                    System.out.println("请输入你想要修改的女神ID:");                }                if(step==2){                    id=Integer.valueOf(in);                    System.out.println("请输入女神修改的名字:");                }                if(step==3){                    name=in;                    gs.update(name, id);                    System.out.println("更新成功!");                    step=0;                    prenious=null;                }                step++;            }            else if(OPERATION_DELETE.equals(in.toUpperCase())                    || OPERATION_DELETE.substring(0, 1).equals(in.toUpperCase())                    || OPERATION_DELETE.equals(prenious)){                prenious=OPERATION_DELETE;                int id=0;                if(step==1){                    System.out.println("请输入你想要删除的女神ID:");                }                if(step==2){                    id=Integer.valueOf(in);                    gs.delete(id);                    System.out.println("删除成功!");                    step=0;                    prenious=null;                }                step++;            }            else if (OPERATION_EXIT.equals(in.toUpperCase())                    || OPERATION_EXIT.substring(0, 1).equals(in.toUpperCase())) {                System.out.println("您已经成功退出女神禁区");                break;            }else{                System.out.println("您输入的值出错了!");            }        }    }}
原创粉丝点击