【前面的话】

      时间总是好快,每次都感觉还没有怎么好好去过,对于好多事情,希望自己可以做的更多一点。心情能够好一点,平淡一点就行了。

      学习过程中的知识点总结,基础知识,选择阅读

JDBC定义】

定义Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。

OBDC定义:

ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API(应用程序编程接口)方法来访问数据库管理系统(DBMS)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。ODBC的设计者们努力使它具有最大的独立性和开放性:与具体的编程语言无关,与具体的数据库系统无关,与具体的操作系统无关。

JDBC的类型

  1. 通过使用jdbc/obdc桥,然后让odbc驱动程序和数据库进行通信。也就是jdbc——jdbc/obdc桥——odbc。
  2. 驱动程序是由部分java程序和部分本地代码组成,用于与数据库的客户端API进行通信。
  3. 驱动程序是纯java客户端类库,它使用一种与具体数据库无关的协议将数据库请求发送给服务器构件,然后该构件再将数据库请求翻译成特定数据库协议。
  4. 驱动程序是纯java类库,他将jdbc请求直接翻译成特定数据库协议。

Java学习笔记(十一)——通过JDBC操作mysql数据库

【代码】

      下面的代码对于Mysql数据库进行操作。

      创建数据库代码:

1 CREATE DATABASE jdbctest;
2 use jdbctest;
3 create table user(
4 userid int(8) unsigned not null auto_increment,
5 username varchar(20) not null default'',
6 password varchar(40) not null default'',
7 email varchar(40) not null default'',
8 primary key(userid)
9 );

如下图:

Java学习笔记(十一)——通过JDBC操作mysql数据库

 点击可以下载:  代码要加入mysql-connector-java-5.1.25-bin.jar包。

   1. JdbcTest.java

  1 package database;
  2 import java.sql.*;
  3 import java.util.logging.Level;
  4 import java.util.logging.Logger;
  5 
  6 public class JdbcTest {
  7     String drivename="com.mysql.jdbc.Driver";
  8     String url="jdbc:mysql://localhost/jdbctest";
  9     String user="root";
 10     String password="891004";
 11     String insql;
 12     String upsql;
 13     String delsql;
 14     String sql="select * from user";
 15     String name;
 16     Connection conn;
 17     ResultSet rs=null;
 18  
 19     public Connection ConnectMysql(){
 20         try{
 21             Class.forName(drivename);
 22             conn = (Connection) DriverManager.getConnection(url, user, password);
 23             if (!conn.isClosed()) {
 24                 System.out.println("Succeeded connecting to the Database!");
 25             } else {
 26                 System.out.println("Falled connecting to the Database!");
 27             }
 28         }catch(Exception ex){
 29             ex.printStackTrace();
 30         }
 31          return conn;
 32     }
 33     public void CutConnection(Connection conn) throws SQLException{
 34         try{
 35             if(rs!=null);
 36             if(conn!=null);
 37             }catch(Exception e){
 38                 e.printStackTrace();
 39                 }finally{
 40                     rs.close();
 41                     conn.close();
 42                     }
 43         }
 44          //插入、删除、更新的方法是一样的,不一样的是数据库参数
 45     public boolean InsertSql(User user){
 46         try{
 47             insql="insert into user(userid,username,password,email) values(?,?,?,?)";
 48             //上面的方法比下面的方法有优势
 49             //insql="insert into user(userid,username,password,email) values(user.getId,user.getName,user.getPassword,user.getEmail)";
 50             PreparedStatement ps=conn.prepareStatement(insql);
 51             //.preparedStatement(insql);
 52             //PreparedStatement  ps=(PreparedStatement) conn.prepareStatement(insql);
 53             ps.setInt(1, user.getId());
 54             ps.setString(2, user.getName());
 55             ps.setString(3, user.getPassword());
 56             ps.setString(4, user.getEmail());
 57             int result=ps.executeUpdate();
 58             //ps.executeUpdate();无法判断是否已经插入
 59             if(result>0)
 60             return true;
 61             }catch(Exception e){
 62                 e.printStackTrace();
 63                 }
 64         return false;
 65         }
 66     //与其他操作相比较,查询语句在查询后需要一个查询结果集(ResultSet)来保存查询结果
 67     public void SelectSql(String sql){
 68         try{
 69             Statement statement=conn.createStatement();
 70             rs=statement.executeQuery(sql);
 71             while(rs.next()){
 72             name=rs.getString("username");
 73             System.out.println("UserID:"+rs.getString("userid")+"    Name:"+name+"    email:"+rs.getString("email"));
 74             }
 75             }catch(Exception e){
 76                 e.printStackTrace();
 77                 }
 78         }
 79     public boolean UpdateSql(String upsql){
 80         try {
 81             PreparedStatement ps = conn.prepareStatement(upsql);
 82             int result=ps.executeUpdate();//返回行数或者0
 83             if(result>0)
 84                 return true;
 85         } catch (SQLException ex) {
 86             Logger.getLogger(JdbcTest.class.getName()).log(Level.SEVERE, null, ex);
 87         }
 88         return false;
 89         }
 90     public boolean DeletSql(String delsql){
 91         try {
 92             PreparedStatement ps = conn.prepareStatement(upsql);
 93             int result=ps.executeUpdate(delsql);
 94             if(result>0)
 95                 return true;
 96             } catch (SQLException ex) {
 97             Logger.getLogger(JdbcTest.class.getName()).log(Level.SEVERE, null, ex);
 98             }
 99         return false;
100         }
101     }
View Code

相关文章:

  • 2021-12-04
  • 2021-11-01
  • 2021-10-20
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2022-02-20
猜你喜欢
  • 2022-02-09
  • 2021-06-04
  • 2021-11-04
  • 2023-02-19
  • 2021-08-17
  • 2021-06-23
  • 2022-12-23
相关资源
相似解决方案