利用JDBC完成数据库的CRUD

 
 利用JDBC完成数据库的CRUD
 ----------------------------------------------------------------------------------------------------
 
src下面创建一个文件: dbinfo.properties
className=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day14
user=root
password=123456


 ----------------------------------------------------------------------------------------------------
 
 public class JdbcUtil {


        private static String className;
        private static String url;
        private static String user;
        private static String password;
        
        static{
                try {
                        // 使用类加载器读取配置文件中的信息 
                        InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
                        Properties props = new Properties();
                        props.load(in);
                        className = props.getProperty("className");
                        url = props.getProperty("url");
                        user = props.getProperty("user");
                        password = props.getProperty("password");
                        
                        Class.forName(className);
                      } catch (Exception e) {
                        e.printStackTrace();
                }
        }




        public static Connection getConnection() throws Exception{
                return DriverManager.getConnection(url,user,password);
        }
        
        public static void release(ResultSet rs,Statement stmt,Connection conn){
                if(rs!=null){
                        try{
                                rs.close();
                        }catch(SQLException e){
                                e.printStackTrace();
                        }
                        rs = null;
                }
                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;
                      }
              }
}


 ----------------------------------------------------------------------------------------------------
 
 /**
create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date
);


insert into users(name,password,email,birthday) values('zs','123456','zs@sina.com','1980-12-04');
insert into users(name,password,email,birthday) values('lisi','123456','lisi@sina.com','1981-12-04');
insert into users(name,password,email,birthday) values('wangwu','123456','wangwu@sina.com','1979-12-04');
 */


// 注: 配置文件中操作的是day14的数据库中的users表格中的数据


 ----------------------------------------------------------------------------------------------------
 
 public class JdbcCRUD {


        @Test  
        public void add(){
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                try{
                        conn = JdbcUtil.getConnection();
                        stmt = conn.createStatement();
                        int i = stmt.executeUpdate("insert into users(name,password,email,birthday) 
                                              values('gfy','123456','gfy@sina.com','2015-08-07')");
                        Assert.assertEquals(1, i);
                }catch(Exception e){
                        throw new RuntimeException(e);
                }finally{
                        JdbcUtil.release(rs, stmt, conn);
                }
        }
        
        @Test
        public void update(){
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                try{
                        conn = JdbcUtil.getConnection();
                        stmt = conn.createStatement();
                        int i = stmt.executeUpdate("update users set password='000' where name='gfy'");
                        Assert.assertEquals(4, i);
                }catch(Exception e){
                        throw new RuntimeException(e);
                }finally{
                        JdbcUtil.release(rs, stmt, conn);
                }
        }
        
        @Test
        public void queryOne(){
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                try{
                        conn = JdbcUtil.getConnection();
                        stmt = conn.createStatement();
                        rs = stmt.executeQuery("select * from users where name='gfy'");
                        if(rs.next()){
                                System.out.println(rs.getString("name"));
                                System.out.println(rs.getString("email"));
                        }
                }catch(Exception e){
                        throw new RuntimeException(e);
                }finally{
                        JdbcUtil.release(rs, stmt, conn);
                }
        }
        
        @Test
        public void queryAll(){
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                try{
                        conn = JdbcUtil.getConnection();
                        stmt = conn.createStatement();
                        rs = stmt.executeQuery("select * from users");
                        while(rs.next()){
                                System.out.println(rs.getString("name"));
                                System.out.println(rs.getString("email"));
                        }
                }catch(Exception e){
                        throw new RuntimeException(e);
                }finally{
                        JdbcUtil.release(rs, stmt, conn);
                }
        }
        
        @Test
        public void delete(){
                Connection conn = null;
                Statement stmt = null;
                ResultSet rs = null;
                try{
                        conn = JdbcUtil.getConnection();
                        stmt = conn.createStatement();
                        int i = stmt.executeUpdate("delete from users where name='gfy'");
                        Assert.assertEquals(4, i);
                }catch(Exception e){
                        throw new RuntimeException(e);
                }finally{
                        JdbcUtil.release(rs, stmt, conn);
                }
        }

}
 ---------------------------------------------------------------------------------------------------- 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值