jdbc连接数据库
来源:互联网 发布:数据分析职业发展 知乎 编辑:程序博客网 时间:2024/05/20 13:04
jar
mysql-connector-java-5.1.39-bin.jar
db.properties
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf8username=rootpassword=root
JDBCUtils_V3
package cn.itheima.jdbc;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;import java.util.ResourceBundle;/** * 提供获取连接和释放资源的 方法 * * @author Never Say Never * @date 2016年7月29日 * @version V1.0 */public class JDBCUtils_V3 { private static String driver; private static String url; private static String username; private static String password; /** * 静态代码块加载配置文件信息 */ static { try { // 1.通过当前类获取类加载器 ClassLoader classLoader = JDBCUtils_V3.class.getClassLoader(); // 2.通过类加载器的方法获得一个输入流 InputStream is = classLoader.getResourceAsStream("db.properties"); // 3.创建一个properties对象 Properties props = new Properties(); // 4.加载输入流 props.load(is); // 5.获取相关参数的值 driver = props.getProperty("driver"); url = props.getProperty("url"); username = props.getProperty("username"); password = props.getProperty("password"); } catch (IOException e) { e.printStackTrace(); } } /** * 获取连接方法 * * @return */ public static Connection getConnection() { Connection conn = null; try { Class.forName(driver); conn = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } return conn; } public static void release(Connection conn, PreparedStatement pstmt, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (pstmt != null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}
TestUtils
package cn.itheima.jdbc.test;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.junit.Test;import cn.itheima.jdbc.JDBCUtils_V1;import cn.itheima.jdbc.JDBCUtils_V2;import cn.itheima.jdbc.JDBCUtils_V3;/** * 测试工具类 * * @author Never Say Never * @date 2016年7月29日 * @version V1.0 */public class TestUtils { /** * 根据id更新用户信息方法 */ @Test public void testUpdateById() { Connection conn = null; PreparedStatement pstmt = null; try { // 1.获取连接 conn = JDBCUtils_V3.getConnection(); // 2.编写sql语句 String sql = "update tbl_user set upassword=? where uid=?"; // 3.获取执行sql语句对象 pstmt = conn.prepareStatement(sql); // 4.设置参数 pstmt.setString(1, "999"); pstmt.setInt(2, 3); // 5.执行更新操作 int row = pstmt.executeUpdate(); if (row > 0) { System.out.println("更新成功!"); } else { System.out.println("更新失败!"); } } catch (Exception e) { throw new RuntimeException(e); } finally { // 6.释放资源 JDBCUtils_V3.release(conn, pstmt, null); } } /** * 根据id删除信息方法 */ @Test public void testDeleteById() { Connection conn = null; PreparedStatement pstmt = null; try { // 1.获取连接 conn = JDBCUtils_V3.getConnection(); // 2.编写sql语句 String sql = "delete from tbl_user where uid=?"; // 3.获取执行sql语句对象 pstmt = conn.prepareStatement(sql); // 4.设置参数 pstmt.setInt(1, 4); // 5.执行删除操作 int row = pstmt.executeUpdate(); if (row > 0) { System.out.println("删除成功!"); } else { System.out.println("删除失败!"); } } catch (Exception e) { throw new RuntimeException(e); } finally { // 6.释放资源 JDBCUtils_V3.release(conn, pstmt, null); } } /** * 添加用户信息方法 */ @Test public void testAdd() { Connection conn = null; PreparedStatement pstmt = null; try { // 1.获取连接 conn = JDBCUtils_V2.getConnection(); // 2.编写sql语句 String sql = "insert into tbl_user values(null,?,?)"; // 3.获取执行sql语句对象 pstmt = conn.prepareStatement(sql); // 4.设置参数 pstmt.setString(1, "lisi"); pstmt.setString(2, "hehe"); // 5.执行插入操作 int row = pstmt.executeUpdate(); if (row > 0) { System.out.println("添加成功!"); } else { System.out.println("添加失败!"); } } catch (Exception e) { throw new RuntimeException(e); } finally { // 6.释放资源 JDBCUtils_V2.release(conn, pstmt, null); } } /** * 根据id查询用户信息 */ @Test public void testFindUserById() { Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { // 1.获取连接 conn = JDBCUtils_V1.getConnection(); // 2.编写sql语句 String sql = "select * from tbl_user where uid=?"; // 3.获取执行sql语句对象 pstmt = conn.prepareStatement(sql); // 4.设置参数 pstmt.setInt(1, 2); // 5.执行查询操作 rs = pstmt.executeQuery(); // 6.处理结果集 while (rs.next()) { System.out.println(rs.getString(2) + "----" + rs.getString("upassword")); } // 释放资源放在此处行么?【不行滴!】 } catch (SQLException e) { e.printStackTrace(); } finally { // 7.释放资源 JDBCUtils_V1.release(conn, pstmt, rs); } }}
阅读全文
0 0
- jdbc入门、jdbc连接数据库
- jdbc-odbc连接数据库
- JDBC连接MySQL数据库
- JDBC连接MySQL数据库
- JDBC之连接数据库
- [JDBC] 如何连接数据库
- JDBC连接数据库技巧
- jdbc连接数据库
- JDBC连接常用数据库
- jdbc连接数据库
- JDBC连接SqlServer2005数据库
- jdbc连接各种数据库
- JDBC连接各种数据库
- JDBC连接数据库参考
- JDBC连接数据库
- JDBC连接数据库小结
- JDBC连接MYSQL数据库
- Jdbc 连接数据库 实例
- JVM的垃圾回收机制
- UVA 12538 Version Controlled IDE 可持久化平衡树 || rope
- 数据库的数据类型和数据表
- linux第一章作业
- HDU1166:敌兵布阵(线段树以及单点更新)
- jdbc连接数据库
- guava之Table
- 菜鸟学大型分布式网站心得(一)
- MDK+JLINK环境下LPC1857外扩SDRAM在线调试实现
- C++字符型指针无法输出的问题
- HTML转义字符大全 (换行,enter,所有特殊字符)
- hadoop2.7.3在集群中配置多个namenode(federation cluster)
- 17-9-29Unsupported major.minor version 52.0 报错处理方式
- Codeforces Round #436 (Div. 2)D. Make a Permutation! codeforces-864D. Make a Permutation!