本文知识点(目录):
1、jdbc连接MySQL数据库
2、jdbc连接Oracle数据库
3、附录【本文jdbc连接MySQL或Oracle数据库的全部代码(合起来,做对比)】
1、JDBC连接MySQL数据库
1.1、我用到的jar包
1.2、实例演示
MySQL建表语句
1 -- MySQL建表语句 2 create table user( 3 id number(5) primary key auto_increment, 4 account varchar(20) not null, 5 password varchar(32) not null 6 );
db.properties 配置文件
1 jdbcDriver=com.mysql.jdbc.Driver 2 url=jdbc:mysql://localhost:3306/school 3 userName=root 4 password=123456
DBUtils 工具类(封装jdbc公共部分的代码)
1 package com.shore.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 import java.sql.Statement; 11 import java.util.Properties; 12 13 /** 14 * @author DSHORE/2020-1-15 15 * 连接数据库--->工具类 16 */ 17 public class DBUtils { 18 19 private DBUtils() { 20 } 21 22 private static String jdbcDriver = ""; 23 private static String url = ""; 24 private static String userName = ""; 25 private static String password = ""; 26 27 static { 28 Properties properties = new Properties(); 29 try { 30 //读取配置文件(MySQL数据库) 31 InputStream inputStream = DBUtils.class.getResourceAsStream("/db.properties"); 32 properties.load(inputStream); //加载配置文件 33 inputStream.close();//关闭输入流 34 35 //获取到对应参数的值 36 jdbcDriver = properties.getProperty("jdbcDriver"); 37 url = properties.getProperty("url"); 38 userName = properties.getProperty("userName"); 39 password = properties.getProperty("password"); 40 } catch (IOException e1) { 41 e1.printStackTrace(); 42 } finally { 43 try { 44 Class.forName(jdbcDriver); 45 } catch (ClassNotFoundException e) { 46 throw new ExceptionInInitializerError(e); 47 } 48 } 49 } 50 51 //连接数据库 52 public static Connection getConnection() throws SQLException { 53 Connection connection = null; 54 try { 55 connection = DriverManager.getConnection(url, userName, password); 56 } catch (Exception e) { 57 System.out.println(e.getMessage());//如果出现异常,则 把异常信息打印到控台上 58 } 59 return connection; 60 } 61 62 // 释放资源。 顺序:resultSet、statement、connection 63 public static void free(ResultSet resultSet, Statement statement, Connection connection) { 64 if (resultSet != null) { 65 try { 66 resultSet.close(); 67 } catch (SQLException e) { 68 e.printStackTrace(); 69 } finally { 70 if (statement != null) { 71 try { 72 statement.close(); 73 } catch (SQLException e) { 74 e.printStackTrace(); 75 } finally { 76 if (connection != null) { 77 try { 78 connection.close(); 79 } catch (SQLException e) { 80 e.printStackTrace(); 81 } 82 } 83 } 84 } 85 } 86 } 87 } 88 89 // 释放资源。 顺序:resultSet、preparedStatement、connection 90 public static void free(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection) { 91 if (resultSet != null) { 92 try { 93 resultSet.close(); 94 } catch (SQLException e) { 95 e.printStackTrace(); 96 } finally { 97 if (preparedStatement != null) { 98 try { 99 preparedStatement.close(); 100 } catch (SQLException e) { 101 e.printStackTrace(); 102 } finally { 103 if (connection != null) { 104 try { 105 connection.close(); 106 } catch (SQLException e) { 107 e.printStackTrace(); 108 } 109 } 110 } 111 } 112 } 113 } 114 } 115 }
User 实体类
1 package com.shore.entity; 2 3 /** 4 * @author DSHORE/2020-1-15 5 * 6 */ 7 public class User { 8 private Integer id; 9 private String account; 10 private String password; 11 12 public Integer getId() { 13 return id; 14 } 15 16 public void setId(Integer id) { 17 this.id = id; 18 } 19 20 public String getAccount() { 21 return account; 22 } 23 24 public void setAccount(String account) { 25 this.account = account; 26 } 27 28 public String getPassword() { 29 return password; 30 } 31 32 public void setPassword(String password) { 33 this.password = password; 34 } 35 }
dao层
1 //接口 2 public interface IUserDao { 3 public int add(User user); //新增 4 public User findById(Integer id); //根据id查询 5 }
1 package com.shore.dao.impl; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 import com.shore.dao.IUserDao; 9 import com.shore.entity.User; 10 import com.shore.util.DBUtils; 11 12 /** 13 * @author DSHORE/2020-1-15 14 * 接口的实现类 15 */ 16 public class UserDao implements IUserDao { 17 //全局变量 18 Connection connection = null; 19 Statement statement = null; 20 PreparedStatement preparedStatement = null; 21 ResultSet resultSet = null; 22 23 @Override //新增 24 public int add(User user) { 25 int result = 0; 26 String sql = ""; 27 try { 28 connection = DBUtils.getConnection(); 29 //MySQL数据库 30 sql = "insert into user(account,password) values(‘"+user.getAccount()+"‘,‘"+user.getPassword()+"‘)"; 31 statement = connection.createStatement(); 32 result = statement.executeUpdate(sql);//执行添加操作 33 } catch (Exception e) { 34 e.printStackTrace(); 35 } finally{ 36 DBUtils.free(null, statement, connection); 37 } 38 return result; 39 } 40 41 @Override //根据id查询 42 public User findById(Integer id) { 43 User user = null; 44 String sql = ""; 45 try { 46 connection = DBUtils.getConnection();//连接数据库 47 //MySQL 48 sql = "select * from user where id = ?"; 49 preparedStatement = connection.prepareStatement(sql);//编译/检查sql语句是否符合规范等等 50 preparedStatement.setInt(1, id); 51 resultSet = preparedStatement.executeQuery();//执行查询操作 52 if(resultSet.first()){ 53 user = new User(); 54 user.setId(id); 55 user.setAccount(resultSet.getString("account")); 56 user.setPassword(resultSet.getString("password")); 57 } 58 } catch (Exception e) { 59 e.fillInStackTrace(); 60 } finally { 61 DBUtils.free(resultSet, preparedStatement, connection); 62 } 63 return user; 64 } 65 }
UserTest 测试类
1 package com.shore.test; 2 3 import org.junit.Test; 4 5 import com.shore.dao.IUserDao; 6 import com.shore.dao.impl.UserDao; 7 import com.shore.entity.User; 8 9 /** 10 * @author DSHORE/2020-1-15 11 * 12 */ 13 public class UserTest { 14 @Test 15 public void addTest() { 16 IUserDao userDao = new UserDao(); 17 User user = new User(); 18 user.setAccount("lisi"); 19 user.setPassword("123456"); 20 userDao.add(user); //添加成功 21 } 22 23 @Test 24 public void findByIdTest() { 25 IUserDao userDao = new UserDao(); 26 User user = userDao.findById(2); 27 System.out.println(user); //返回值: [email protected] 28 System.out.println(user.getAccount()+" : "+user.getPassword()); //返回值: 张三 : 123456 29 } 30 }
2、JDBC连接Oracle数据库
2.1、我用到的jar包
2.2、实例演示
Oracle 建表语句
1 -- Oracle建表语句 2 create table users( -- user是Oracle关键字,不能用user 3 id number(5) primary key, 4 account varchar2(20) not null unique, 5 password varchar2(32) not null 6 ); 7 8 -- 创建序列 9 create sequence users_seq -- 序列名称:users_seq 10 minvalue 10 --最小值(建议稍微设置大一些,不建议设置成1或2或3等等,否则很容易出现这个错误 ORA-00001:违反唯一约束条件) 11 start with 1 --从1开始计数,数值可变 12 increment by 1 --每次加1,数值可变 13 nocycle --一直累加,不循环;cycle:达到最大值后,将从头开始累加。 (maxvalue 999 -- 最大值) 14 nocache; --不建缓冲区。
这里我没有创建触发器,dao层插入数据时,id这项 必须要写上,比如:看红色代码处
insert into users(id,account,password) values(users_seq.nextval,‘张三‘,‘123456‘);
创建触发器(主要看Oracle部分,第3小点是创建触发器的步骤,第4小点体现了触发器的作用)详情:https://www.cnblogs.com/dshore123/p/8267240.html
odb.properties 配置文件
1 jdbcDriver=oracle.jdbc.driver.OracleDriver 2 url=jdbc:oracle:thin:@localhost:1521:shoreid 3 userName=zhangsan 4 password=123456
DBUtils 工具类(封装jdbc公共部分的代码)
1 package com.shore.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 import java.sql.Statement; 11 import java.util.Properties; 12 13 /** 14 * @author DSHORE/2020-1-15 15 * 连接数据库--->工具类 16 */ 17 public class DBUtils { 18 19 private DBUtils() { 20 } 21 22 private static String jdbcDriver = ""; 23 private static String url = ""; 24 private static String userName = ""; 25 private static String password = ""; 26 27 static { 28 Properties properties = new Properties(); 29 try { 30 //读取配置文件(Oracle数据库) 31 InputStream inputStream = DBUtils.class.getResourceAsStream("/odb.properties"); 32 properties.load(inputStream); //加载配置文件 33 inputStream.close();//关闭输入流 34 35 //获取到对应参数的值 36 jdbcDriver = properties.getProperty("jdbcDriver"); 37 url = properties.getProperty("url"); 38 userName = properties.getProperty("userName"); 39 password = properties.getProperty("password"); 40 } catch (IOException e1) { 41 e1.printStackTrace(); 42 } finally { 43 try { 44 Class.forName(jdbcDriver); 45 } catch (ClassNotFoundException e) { 46 throw new ExceptionInInitializerError(e); 47 } 48 } 49 } 50 51 //连接数据库 52 public static Connection getConnection() throws SQLException { 53 Connection connection = null; 54 try { 55 connection = DriverManager.getConnection(url, userName, password); 56 } catch (Exception e) { 57 System.out.println(e.getMessage());//如果出现异常,则 把异常信息打印到控台上 58 } 59 return connection; 60 } 61 62 // 释放资源。 顺序:resultSet、statement、connection 63 public static void free(ResultSet resultSet, Statement statement, Connection connection) { 64 if (resultSet != null) { 65 try { 66 resultSet.close(); 67 } catch (SQLException e) { 68 e.printStackTrace(); 69 } finally { 70 if (statement != null) { 71 try { 72 statement.close(); 73 } catch (SQLException e) { 74 e.printStackTrace(); 75 } finally { 76 if (connection != null) { 77 try { 78 connection.close(); 79 } catch (SQLException e) { 80 e.printStackTrace(); 81 } 82 } 83 } 84 } 85 } 86 } 87 } 88 89 // 释放资源。 顺序:resultSet、preparedStatement、connection 90 public static void free(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection) { 91 if (resultSet != null) { 92 try { 93 resultSet.close(); 94 } catch (SQLException e) { 95 e.printStackTrace(); 96 } finally { 97 if (preparedStatement != null) { 98 try { 99 preparedStatement.close(); 100 } catch (SQLException e) { 101 e.printStackTrace(); 102 } finally { 103 if (connection != null) { 104 try { 105 connection.close(); 106 } catch (SQLException e) { 107 e.printStackTrace(); 108 } 109 } 110 } 111 } 112 } 113 } 114 } 115 }
User 实体类
1 package com.shore.entity; 2 3 /** 4 * @author DSHORE/2020-1-15 5 * 6 */ 7 public class User { 8 private Integer id; 9 private String account; 10 private String password; 11 12 public Integer getId() { 13 return id; 14 } 15 16 public void setId(Integer id) { 17 this.id = id; 18 } 19 20 public String getAccount() { 21 return account; 22 } 23 24 public void setAccount(String account) { 25 this.account = account; 26 } 27 28 public String getPassword() { 29 return password; 30 } 31 32 public void setPassword(String password) { 33 this.password = password; 34 } 35 }
dao层
1 //接口 2 public interface IUserDao { 3 public int add(User user); //新增 4 public User findById(Integer id); //根据id查询 5 }
1 package com.shore.dao.impl; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 import com.shore.dao.IUserDao; 9 import com.shore.entity.User; 10 import com.shore.util.DBUtils; 11 12 /** 13 * @author DSHORE/2020-1-15 14 * 接口实现类 15 */ 16 public class UserDao implements IUserDao { 17 //全局变量 18 Connection connection = null; 19 Statement statement = null; 20 PreparedStatement preparedStatement = null; 21 ResultSet resultSet = null; 22 23 @Override //新增 24 public int add(User user) { 25 int result = 0; 26 String sql = ""; 27 try { 28 connection = DBUtils.getConnection(); 29 //Oracle数据库 30 sql = "insert into users values(users_seq.nextval,‘"+user.getAccount()+"‘,‘"+user.getPassword()+"‘)"; 31 statement = connection.createStatement(); 32 result = statement.executeUpdate(sql);//执行添加操作 33 } catch (Exception e) { 34 e.printStackTrace(); 35 } finally{ 36 DBUtils.free(null, statement, connection); 37 } 38 return result; 39 } 40 41 @Override //根据id查询 42 public User findById(Integer id) { 43 User user = null; 44 String sql = ""; 45 try { 46 connection = DBUtils.getConnection();//连接数据库 47 //Oracle 48 sql = "select * from users where id = ?"; 49 preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 50 preparedStatement.setInt(1, id); 51 resultSet = preparedStatement.executeQuery();//执行查询操作 52 if(resultSet.first()){ 53 user = new User(); 54 user.setId(id); 55 user.setAccount(resultSet.getString("account")); 56 user.setPassword(resultSet.getString("password")); 57 } 58 } catch (Exception e) { 59 e.fillInStackTrace(); 60 } finally { 61 DBUtils.free(resultSet, preparedStatement, connection); 62 } 63 return user; 64 } 65 }
UserTest 测试类
1 package com.shore.test; 2 3 import org.junit.Test; 4 5 import com.shore.dao.IUserDao; 6 import com.shore.dao.impl.UserDao; 7 import com.shore.entity.User; 8 9 /** 10 * @author DSHORE/2020-1-15 11 * 12 */ 13 public class UserTest { 14 @Test 15 public void addTest() { 16 IUserDao userDao = new UserDao(); 17 User user = new User(); 18 user.setAccount("lisi"); 19 user.setPassword("123456"); 20 userDao.add(user); //添加成功 21 } 22 23 @Test 24 public void findByIdTest() { 25 IUserDao userDao = new UserDao(); 26 User user = userDao.findById(2); 27 System.out.println(user); //返回值: [email protected] 28 System.out.println(user.getAccount()+" : "+user.getPassword()); //返回值: lisi : 123456 29 } 30 }
到此已完结(均测试成功)
附录
本文jdbc连接MySQL或Oracle数据库的全部代码(合起来,做对比)
用到的jar包
测试项目截图
其中db.properties 和 odb.properties 配置文件是在src目录下,与com包名是同一级。
建表语句(SQL.sql)
1 -- MySQL建表语句 2 create table user( 3 id number(5) primary key auto_increment, 4 account varchar(20) not null, 5 password varchar(32) not null 6 ); 7 -- 插入数据(这里不是手动插入,而是使用测试类UserTest来插入) 8 insert into user(account,password) values("张三","123456"); 9 insert into user(account,password) values("lisi","123456"); 10 11 12 -- Oracle建表语句 13 create table users( -- user是Oracle关键字,不能用user 14 id number(5) primary key, 15 account varchar2(20) not null unique, 16 password varchar2(32) not null 17 ); 18 19 -- 创建序列 20 create sequence users_seq -- 序列名称:users_seq 21 minvalue 10 --最小值(建议稍微设置大一些,否则很容易出现这个错误 ORA-00001:违反唯一约束条件) 22 start with 1 --从1开始计数,数值可变 23 increment by 1 --每次加1,数值可变 24 nocycle --一直累加,不循环;cycle:达到最大值后,将从头开始累加。 (maxvalue 999 -- 最大值) 25 nocache; --不建缓冲区。 26 27 -- 插入数据(这里不是手动插入,而是使用测试类UserTest来插入) 28 insert into users(id,account,password) values(users_seq.nextval,‘张三‘,‘123456‘); 29 insert into users(id,account,password) values(users_seq.nextval,‘lisi‘,‘123456‘);
db.properties 配置文件
jdbcDriver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/school userName=root password=123456
odb.properties 配置文件
1 jdbcDriver=oracle.jdbc.driver.OracleDriver 2 url=jdbc:oracle:thin:@localhost:1521:shoreid 3 userName=zhangsan 4 password=123456
DBUtils 工具类
1 package com.shore.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 import java.sql.Statement; 11 import java.util.Properties; 12 13 /** 14 * @author DSHORE/2020-1-15 15 * 连接数据库--->工具类 16 */ 17 public class DBUtils { 18 19 private DBUtils() { 20 } 21 22 private static String jdbcDriver = ""; 23 private static String url = ""; 24 private static String userName = ""; 25 private static String password = ""; 26 27 static { 28 Properties properties = new Properties(); 29 try { 30 //读取配置文件(MySQL数据库) 31 //InputStream inputStream = DBUtils.class.getResourceAsStream("/db.properties"); 32 33 //读取配置文件(Oracle数据库) 34 InputStream inputStream = DBUtils.class.getResourceAsStream("/odb.properties"); 35 properties.load(inputStream); //加载配置文件 36 inputStream.close();//关闭输入流 37 38 //获取到对应参数的值 39 jdbcDriver = properties.getProperty("jdbcDriver"); 40 url = properties.getProperty("url"); 41 userName = properties.getProperty("userName"); 42 password = properties.getProperty("password"); 43 } catch (IOException e1) { 44 e1.printStackTrace(); 45 } finally { 46 try { 47 Class.forName(jdbcDriver); 48 } catch (ClassNotFoundException e) { 49 throw new ExceptionInInitializerError(e); 50 } 51 } 52 } 53 54 //连接数据库 55 public static Connection getConnection() throws SQLException { 56 Connection connection = null; 57 try { 58 connection = DriverManager.getConnection(url, userName, password); 59 } catch (Exception e) { 60 System.out.println(e.getMessage());//如果出现异常,则 把异常信息打印到控台上 61 } 62 return connection; 63 } 64 65 // 释放资源。 顺序:resultSet、statement、connection 66 public static void free(ResultSet resultSet, Statement statement, Connection connection) { 67 if (resultSet != null) { 68 try { 69 resultSet.close(); 70 } catch (SQLException e) { 71 e.printStackTrace(); 72 } finally { 73 if (statement != null) { 74 try { 75 statement.close(); 76 } catch (SQLException e) { 77 e.printStackTrace(); 78 } finally { 79 if (connection != null) { 80 try { 81 connection.close(); 82 } catch (SQLException e) { 83 e.printStackTrace(); 84 } 85 } 86 } 87 } 88 } 89 } 90 } 91 92 // 释放资源。 顺序:resultSet、preparedStatement、connection 93 public static void free(ResultSet resultSet, PreparedStatement preparedStatement, Connection connection) { 94 if (resultSet != null) { 95 try { 96 resultSet.close(); 97 } catch (SQLException e) { 98 e.printStackTrace(); 99 } finally { 100 if (preparedStatement != null) { 101 try { 102 preparedStatement.close(); 103 } catch (SQLException e) { 104 e.printStackTrace(); 105 } finally { 106 if (connection != null) { 107 try { 108 connection.close(); 109 } catch (SQLException e) { 110 e.printStackTrace(); 111 } 112 } 113 } 114 } 115 } 116 } 117 } 118 }
User 实体类
1 package com.shore.entity; 2 3 /** 4 * @author DSHORE/2020-1-15 5 * 6 */ 7 public class User { 8 private Integer id; 9 private String account; 10 private String password; 11 12 public Integer getId() { 13 return id; 14 } 15 16 public void setId(Integer id) { 17 this.id = id; 18 } 19 20 public String getAccount() { 21 return account; 22 } 23 24 public void setAccount(String account) { 25 this.account = account; 26 } 27 28 public String getPassword() { 29 return password; 30 } 31 32 public void setPassword(String password) { 33 this.password = password; 34 } 35 }
DAO层
1 package com.shore.dao; 2 3 import com.shore.entity.User; 4 5 /** 6 * @author DSHORE/2020-1-15 7 * 接口 8 */ 9 public interface IUserDao { 10 public int add(User user); //新增 11 public User findById(Integer id); //根据id查询 12 }
1 package com.shore.dao.impl; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 8 import com.shore.dao.IUserDao; 9 import com.shore.entity.User; 10 import com.shore.util.DBUtils; 11 12 /** 13 * @author DSHORE/2020-1-15 14 * 15 */ 16 public class UserDao implements IUserDao { 17 //全局变量 18 Connection connection = null; 19 Statement statement = null; 20 PreparedStatement preparedStatement = null; 21 ResultSet resultSet = null; 22 23 @Override //新增 24 public int add(User user) { 25 int result = 0; 26 String sql = ""; 27 try { 28 connection = DBUtils.getConnection(); 29 //MySQL语句 30 //sql = "insert into user(account,password) values(‘"+user.getAccount()+"‘,‘"+user.getPassword()+"‘)"; 31 32 //Oracle语句 33 sql = "insert into users values(users_seq.nextval,‘"+user.getAccount()+"‘,‘"+user.getPassword()+"‘)"; 34 35 statement = connection.createStatement(); 36 result = statement.executeUpdate(sql);//执行添加操作 37 } catch (Exception e) { 38 e.printStackTrace(); 39 } finally{ 40 DBUtils.free(null, statement, connection); 41 } 42 return result; 43 } 44 45 @Override //根据id查询 46 public User findById(Integer id) { 47 User user = null; 48 String sql = ""; 49 try { 50 connection = DBUtils.getConnection();//连接数据库 51 //MySQL 52 /*sql = "select * from user where id = ?"; 53 preparedStatement = connection.prepareStatement(sql);//编译/检查sql语句是否符合规范等等 54 */ 55 56 //Oracle 57 sql = "select * from users where id = ?"; 58 preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 59 60 preparedStatement.setInt(1, id); 61 resultSet = preparedStatement.executeQuery();//执行查询操作 62 if(resultSet.first()){ 63 user = new User(); 64 user.setId(id); 65 user.setAccount(resultSet.getString("account")); 66 user.setPassword(resultSet.getString("password")); 67 } 68 } catch (Exception e) { 69 e.fillInStackTrace(); 70 } finally { 71 DBUtils.free(resultSet, preparedStatement, connection); 72 } 73 return user; 74 } 75 }
UserTest 测试类
1 package com.shore.test; 2 3 import org.junit.Test; 4 5 import com.shore.dao.IUserDao; 6 import com.shore.dao.impl.UserDao; 7 import com.shore.entity.User; 8 9 /** 10 * @author DSHORE/2020-1-15 11 * 12 */ 13 public class UserTest { 14 @Test 15 public void addTest() { 16 IUserDao userDao = new UserDao(); 17 User user = new User(); 18 user.setAccount("lisi"); 19 user.setPassword("123456"); 20 userDao.add(user); //添加成功 21 } 22 23 @Test 24 public void findByIdTest() { 25 IUserDao userDao = new UserDao(); 26 User user = userDao.findById(2); 27 System.out.println(user); //返回值:【MySQL】[email protected]d9084 【Oracle】[email protected] 28 System.out.println(user.getAccount()+" : "+user.getPassword()); //返回值:【MySQL】张三 : 123456 【Oracle】lisi : 123456 29 } 30 }
Oracle 的测试结果图
均测试成功
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/12198975.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |
原文地址:https://www.cnblogs.com/dshore123/p/12198975.html