Java--JDBC,CRUD,Unit

来源:互联网 发布:2010科比总决赛数据 编辑:程序博客网 时间:2024/06/06 12:51

JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。

JDBC与数据库驱动的关系:接口与实现的关系。

 

JDBC四个核心对象:

DriverManager:用于注册驱动

Connection: 表示与数据库创建的连接

Statement: 操作数据库sql语句的对象

ResultSet: 结果集或一张虚拟表


import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;import java.sql.Connection;import java.sql.ResultSet;public class JdbcBase {public static void main(String[] args) throws SQLException {//1、注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2、创建连接Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/JdbcDB", "root", "123456");//jdbc:mysql://localhost:3306/JdbcDB//协议 子协议  IP :端口号 数据库//3、得到执行SQL语句的Statement对象Statement stm = (Statement) con.createStatement();//4、执行SQL语句,返回结果集String sql = "select * from users";ResultSet rs = (ResultSet) stm.executeQuery(sql);//5、处理结果while(rs.next()){System.out.println(rs.getObject(1));System.out.println(rs.getObject(2));System.out.println(rs.getObject(3));System.out.println(rs.getObject(4));System.out.println(rs.getObject(5));System.out.println("------------------------");}//6、关闭资源rs.close();stm.close();con.close();}}
第一步注册驱动可以改为加载驱动,并进行测试

@Testpublic void test2() throws Exception {//1、加载驱动Class.forName("com.mysql.jdbc.Driver");//2、创建连接Properties info = new Properties();info.setProperty("user", "root");info.setProperty("password", "123456");Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/JdbcDB", info);//3、得到执行SQL语句的Statement对象Statement stm = (Statement) con.createStatement();//4、执行SQL语句,返回结果集String sql = "select * from users";ResultSet rs = (ResultSet) stm.executeQuery(sql);//5、处理结果while(rs.next()){System.out.println(rs.getObject(1));System.out.println(rs.getObject(2));System.out.println(rs.getObject(3));System.out.println(rs.getObject(4));System.out.println(rs.getObject(5));System.out.println("------------------------");}//6、关闭资源rs.close();stm.close();con.close();}

因每次都要加载连接公用方法可以提取一个类建立单独方法

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ResourceBundle;public class DBUtil {private static String driverClass;private static String url;private static String userName;private static String password;static{ResourceBundle res = ResourceBundle.getBundle("dbusers");driverClass = res.getString("driverClass");url = res.getString("url");userName = res.getString("userName");password = res.getString("password");try {Class.forName(driverClass);} catch (ClassNotFoundException e) {e.printStackTrace();}}//得到连接方法public static Connection getConnection() throws Exception{Connection connection = DriverManager.getConnection(url, userName, password);return connection;}//关闭资源方法public static void closeAll(ResultSet resultSet,Statement stm,Connection con){//关闭资源if (resultSet != null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}resultSet = null;}if (stm != null) {try {stm.close();} catch (SQLException e) {e.printStackTrace();}stm = null;}if (con != null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}con = null;}}}




原创粉丝点击