JDBC 技术开发

JDBC 开发:2018-05-21

作用:用Java语句向数据库发送请求并操作数据库。

简介:

练习:

 

 

数据库创建代码:

create database day14;
         use day14 ;
         create table users(
         
         id int primary key,
         name varchar(40),
         password varchar(40),
         email varchar(60),
         birthday date
         );
insert into users(id,name,password,email,birthday) values(1,'zs','123456','zs@sina.com','1980-12-04');
insert into users(id,name,password,email,birthday) values(2,'lisi','123456','lisi@sina.com','1981-12-04');
insert into users(id,name,password,email,birthday) values(3,'wangwu','123456','wangwu@sina.com','1979-12-04');

 在程序中进行获取数据库的数据代码如下:

 1 package day14;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 
 9 
10 public class Demo1 {
11     /*
12 create database day14;
13          use day14 ;
14          create table users(
15          
16          id int primary key,
17          name varchar(40),
18          password varchar(40),
19          email varchar(60),
20          birthday date
21          );
22 insert into users(id,name,password,email,birthday) values(1,'zs','123456','zs@sina.com','1980-12-04');
23 insert into users(id,name,password,email,birthday) values(2,'lisi','123456','lisi@sina.com','1981-12-04');
24 insert into users(id,name,password,email,birthday) values(3,'wangwu','123456','wangwu@sina.com','1979-12-04');
25      */
26     
27     public static void main(String[] args) throws SQLException {
28         String url="jdbc:mysql://localhost:3306/day14";
29         String username="root";
30         String password="999909";
31         
32         
33         //1.加载驱动
34         DriverManager.registerDriver( new com.mysql.jdbc.Driver());
35         
36         //2.获得数据库链接
37     Connection conn = DriverManager.getConnection(url, username, password);
38         
39         //3.获取向数据库发数据的statament对象,
40         
41     Statement st= conn.createStatement();
42         //4.向数据库发送sql,获取数据库返回的结果集
43         
44 
45     ResultSet rs=st.executeQuery("select * from users");
46         //5.从结果集中获取数据,
47         while (rs.next()){
48         System.out.println("id:"+rs.getObject("id"));    
49             System.out.println("name:"+rs.getObject("name"));
50             System.out.println("password:"+ rs.getObject("password"));
51             System.out.println("email:" +rs.getObject("email"));
52             System.out.println("birthday:"+rs.getObject("birthday"));
53         }
54         
55         
56         //6.释放资源(释放链接)释放的结果与创建的顺序相反。
57         rs.close();
58         st.close();
59         conn.close();
60         
61     }
62 
63 }

JDBC过程详解:

解决drivemanager的方法:

加载驱动的方法:classForname("com.mysql.jdbc.Driver");

来直接加载类,加载类时可以直接创建新的驱动。

 

小注:当加载类驱动时,需要利用配置文件来实现数据库驱动的加载,其中两种常用的方法为:

1. 若配置的数据有关系就利用xml文件来加载加载驱动。

2.若配置的数据没有关系就利用properties来加载驱动。

 数据库URL:

程序详解:connection:

 

statement:程序详解:

常用的数据类型转换表:

 

程序详解:链接释放

程序详解--释放资源:

 

 使用JDBC对数据库进行CRUD:

 

 联系代码如下:

  1 package day14;
  2 
  3 
  4 import java.sql.Connection;
  5 import java.sql.ResultSet;
  6 import java.sql.SQLException;
  7 import java.sql.Statement;
  8 
  9 import org.junit.Test;
 10 
 11 import cn.itcast.utils.JdbcUtils;
 12 
 13 
 14 public class Demo2 {
 15 
 16 
 17     
 18     @Test
 19     public void insert() throws SQLException{
 20         
 21         Connection conn=null;
 22         Statement st=null;
 23         ResultSet rs=null;
 24         System.out.println("1");
 25 
 26         try{
 27         conn = JdbcUtils.getconnection();
 28         System.out.println("2");
 29 
 30         st= conn.createStatement();
 31         String sql="insert into users(id,name,password,email,birthday) values(4,'eee','123','ee@sina.com','1998-09-09')";
 32         System.out.println("3");
 33             int num= st.executeUpdate(sql);
 34             
 35             if(num>0){
 36                 System.out.println("插入成功");
 37             }
 38         }finally{
 39             JdbcUtils.relesase(conn, st, rs);
 40             
 41         }
 42         
 43     }
 44 
 45     
 46     @Test
 47     public void update() throws SQLException{
 48         Connection conn=null;
 49         Statement st=null;
 50         ResultSet rs=null;
 51         try{
 52         conn = JdbcUtils.getconnection();
 53         st=conn.createStatement();
 54         String sql="update users set name='fff' where id='4'";
 55          int num=st.executeUpdate(sql);
 56          if(num>0){
 57              System.out.println("更新成功!!");
 58              
 59          }
 60         
 61             
 62         }finally{
 63             JdbcUtils.relesase(conn, st, rs);
 64             
 65         }
 66         
 67     }
 68     
 69     @Test
 70     public void delete() throws SQLException{
 71         Connection conn=null;
 72         Statement st=null;
 73         ResultSet rs=null;
 74         try{
 75         conn = JdbcUtils.getconnection();
 76         st=conn.createStatement();
 77         String sql="delete from users where id='4'";
 78          int num=st.executeUpdate(sql);
 79         if(num>0){
 80             System.out.println("删除成功!!");
 81             
 82         }
 83             
 84         }finally{
 85             JdbcUtils.relesase(conn, st, rs);
 86             
 87         }
 88         
 89     }
 90     @Test
 91     public void find() throws SQLException{
 92         Connection conn=null;
 93         Statement st=null;
 94         ResultSet rs=null;
 95         try{
 96         conn = JdbcUtils.getconnection();
 97         st=conn.createStatement();
 98         String sql="select * from users";
 99         rs=st.executeQuery(sql);
100         while (rs.next()){
101             System.out.println("id:"+rs.getObject("id"));    
102                 System.out.println("name:"+rs.getObject("name"));
103                 System.out.println("password:"+ rs.getObject("password"));
104                 System.out.println("email:" +rs.getObject("email"));
105                 System.out.println("birthday:"+rs.getObject("birthday"));
106             }
107             
108         }finally{
109             JdbcUtils.relesase(conn, st, rs);
110             
111         }
112         
113     }
114     @Test
115     public void getAll() throws SQLException{
116         Connection conn=null;
117         Statement st=null;
118         ResultSet rs=null;
119         try{
120         conn = JdbcUtils.getconnection();
121         st=conn.createStatement();
122         String sql="select id,name,password,email,birthday from users";
123             rs=st.executeQuery(sql);
124             while (rs.next()){
125                 System.out.println("id:"+rs.getObject("id"));    
126                     System.out.println("name:"+rs.getObject("name"));
127                     System.out.println("password:"+ rs.getObject("password"));
128                     System.out.println("email:" +rs.getObject("email"));
129                     System.out.println("birthday:"+rs.getObject("birthday"));
130                 }
131         
132         }finally{
133             JdbcUtils.relesase(conn, st, rs);
134             
135         }
136         
137     }
138 }

     工厂设计模式:

 

posted @ 2018-05-21 19:59  相伴红尘醉  阅读(93)  评论(0编辑  收藏  举报