JDBCとは何ですか?JDBC、どのような役割ですか?スターターは、通常、これらは好奇心生み出すために、ここで私が見つけるためにあなたと一緒にいます。
まず、JDBCブリッジJAVAおよび読み取りおよび書き込み操作を提供するために、データベースプログラマ。JDBCは、SQL文のJava APIを実行するために使用される、あなたは複数のリレーショナルデータベースに統一アクセスを提供することができます。
あなたは、JDBCを介してOracle、MySQLは、のSQLServerは、次のデータベースを接続することができます。アプリケーションサーバとデータベースDB間のJDBCデータの循環は、データベース・サーバ・アプリケーションの動作を実現しています。
図JDBC実装プロセスは以下の通りである:
以下の表は、ユーザー列子は、ユーザデータテーブルを照会与えます。まず、ユーザエンティティクラステーブルを用意します。一般VO袋にUserエンティティクラスを作成します。
1 package com.gx.vo;
2
3 public class User{
4 private String username;
5 private String password;
6 private int userID;
7
8 public String getUsername(){
9 return username;
10 }
11 public void setUsername(String username){
12 this.username=username;
13 }
14 public String getPassword(){
15 return password;
16 }
17 public void setPassword(String password){
18 this.password=password;
19 }
20 public int getUserid(){
21 return userid;
22 }
23 public void setUserid(int userid){
24 this.userid=userid;
25 }
26 }
Entityクラスの準備ができている、あなたはまた、いくつかの構成データベースを必要とします。今のMySQLの例を接続します。MyEclipseの10の右上隅にある「右矢印」をクリックし、「MyEclipseのデータベースエクスプローラ」を選択し、左のナビゲーションで、「DBブローは」新しいデータベースドライバを作成するには、その後、「新規」、空白で右クリックし、次に10をMyEclipseが表示されます。
连接成功如下图:
注意:
1、选择你要连接的数据库类型,Driver name 的值可以随便起
2、URL特别要注意根据连接不同的数据库它们各自的URL也不一样,
Oracle的URL:jdbc:oracle:thin:@localhost:1521:orcl
MySql的URL: jdbc:mysql://localhost:3306/test
SqlServer的URL: jdbc.microsoft:sqlserver://localhost:1433;DatabaseName=test
Oracle的服务端口1521;MySql的服务端口3306;SqlServer的服务端口1433
3、User name和Password要和数据库的对应
4、添加mysql-connector-java-5.1.22-bin的jar包
5、点击“Test Driver”测试数据库连接是否成功,如果提示中包含successfully的说明你连接数据库成功。
最重要的是要把sql-connector-java-5.1.22-bin的jar包,copy到我们项目的WebRoot下的WEB-INF下的lib里。
基本的准备工作已经完成,那么接下来要做的是将在util(工具类)包写入JDBC的代码。
要完成JDBC与数据库进行交互,需要五大步骤。
1 package com.gx.util;
2
2 import java.sql.Connection;
3 import java.sql.DriverManager;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import com.gx.vo.User;
8 public class Jdbcutil{
9 private static String username=”root”;
10 private static String password=”root”;
11 private static String url=”jdbc:mysql://localhost:3306/test”;
12 private static String driver=”com.mysql.jdbc.Driver”;
13
14 //driver的URL要与数据库的配置中的Driver classname的对应
15
16 public static void selectAll(){
17 try{
18 User user=null;
19 List<User> users=null;
20 users=new ArrayList<User>();
21 //第一步:加载驱动
22 Class.forName(driver);
23 //第二步:通过DriverManager获取数据库的连接Connection
24 Conection con=DriverManager.getConnection(url,username,password);
25 //第三步:从数据库连接Connection创建Statement或者*PreparedStatement
26 Statement st=con.createStatement();
27 //第四步:使用PreparedStatement或者Statement执行sql并返回结果集
28 ResultSet rs=st.executeQuery(“select *from user”);
29 //新增、删除、修改都是用executeUpdate; 查询用的是exeuteQuery
30 //遍历所有的数据
31 while(rs.next()){
32 user=new User();
33 user.setUserid(rs.getInt(“userid”));
34 user.setUsername(rs.getString(“username”));
35 user.setPassword(rs.getString(“password”));
36 usres.add(user);
37 }
38 //读取集合里面的数据
39 for(User user2 :users){
40 System.out.println(“id”+user2.getUserid()+ “名称”+user2.getUsername()+”密码”+
41 user2.getpassword());
42 //第五步:关闭rs、st、con、;要特别的注意关闭的顺序要倒过来
43 rs.close();
44 st.close();
45 con.close();
46 }cath(ClassNotFoundException e){
47 e.printStackTrace();
48 }cath(SQLException e){
49 e.printStackTrace();
50 }
51 }
执行结果如下图:
在这里呢!我就不一一把新增、修改、删除再讲一遍,其实这些都和查询很相似,它的步骤是一样的。新增和删除时不需要vo包里User的实现类;还有需要注意的是在执行的时候新增、删除、修改都是用executeUpdate; 查询用的是exeuteQuery。那我再说说我们可能在与数据库进行连接的时候可能出现的错误。
1、 如果在执行的过程报 “java。lang.ClassNotFoundException:con.jdbc.mysql.Driver”
这个错误的时候。
解决方法:第一,查看你有没有添加mysql-connector-java-5.1.22-bin的jar包;第二,查看你的数据库的配置和你声明的是否对应。
2、 如果在新增执行的过程报“com.mysql.jdbc.MysqlDataTruncation:Data too long for colum ‘at’ row 1”这个错误的时候。
解决方法:说明你新增的数据超出数据库存值的长度,所以你可以修改数据库的或者修改新增的内容。因个人的需求不同而定
3、如果在执行的过程报“com.mysql.jdbc.exceptions.jdbc.MySQLSyntaxErrorException” 这个错误的时候。
解决方法:说明你写的sql语句上有语法性错误,查看sql语句是否正确。
到这里我们对JDBC有一定的了解了。我说说我为什么要写JDBC与数据库进行连接操作数据,虽然这是很基础的东西,但本人觉得很重要。在项目或者做一些小程序难免都会与数据库打交道,所以呢!如何连如何连接数据库都不会的,再说什么都是空谈。基础虽然很简单,但我们一定要牢牢打好基础。记住JDBC与数据库进行连接,只需要五步轻松拿下。