jdbc数据库链接之抽取工具类
来源:互联网 发布:金融大数据对股市预测 编辑:程序博客网 时间:2024/05/26 07:30
jdbc工具类抽取分为两部分
1.创建连接
2.关闭所有链接。
案例如下:
public class DBUtils {
private static String driverClass;
private static String url;
private static String username;
private static String password;
static{
ResourceBundle rb=ResourceBundle.getBundle("dbinfo");
driverClass=rb.getString("driverClass");
url=rb.getString("url");
username=rb.getString("username");
password=rb.getString("password");
System.out.println(driverClass+"======="+url+"=============="+username+"-------------"+password);
try {
Class.forName(driverClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//创建连接
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url,username,password);
}
//关闭资源
public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs=null;
}
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt=null;
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn=null;
}
}
}
3.dbinfo.properties文件(注意文件中不包含分号)
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/shop
username=root
password=123
4.junit测试:
public class TestCurd {
@Test
public void testSelect(){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try {
conn=DBUtils.getConnection();
stmt=conn.createStatement();
rs=stmt.executeQuery("select * from users");
List<User> list=new ArrayList<User>();
while(rs.next()){
User u=new User();
u.setId(rs.getInt(1));
u.setName(rs.getString(2));
u.setPassword(rs.getString(3));
u.setBirthday(rs.getString(5));
u.setEmail(rs.getString(4));
list.add(u);
}
for(User user:list){
System.out.println(user);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtils.closeAll(rs, stmt, conn);
}
}
}
4.1 插入操作:
案例 代码如下:
public void testInsert() {
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = DBUtils.getConnection();
stmt=conn.prepareStatement("insert into users(id,username,password,email,birthday)values(?,?,?,?,?)");
stmt.setInt(1, 20);
stmt.setString(2, "zxg");
stmt.setString(3, "123");
stmt.setString(4, "1009@qq.com");
stmt.setString(5, "1993-05-25");
int i=stmt.executeUpdate();
if(i>0){
System.out.println("success");
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtils.closeAll(null, stmt, conn);
}
}
简单的CRUD操作,可以只替换或修改测试部分的代码和sql语句即可;
- jdbc数据库链接之抽取工具类
- 使用JDBC链接数据库之连接数据库通用工具类
- jdbc 链接数据库工具类
- JDBC连接数据库(Mysql、抽取工具类)
- jdbc工具类的抽取。
- jdbc 工具类的抽取
- JDBC获取数据库Connection的工具抽取
- javaweb_day7(JDBC)jdbc的工具类抽取
- MySQL之JDBC链接工具类
- 黑马day10 jdbc抽取工具类
- java通过配置文件jdbc.properties链接Oracle数据库工具类
- Java之JDBC链接数据库
- 使用JDBC链接数据库之JDBC简介
- jdbc工具类实例,案例,工具类抽取
- JDBC公共类抽取
- Java之数据库MYSQL、JDBC工具类、properties配置文件
- JDBC工具类和JDBC连接数据库
- 在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取
- 小明の魔法计划——最长上升子序列
- Kotlin-50.JavaScript反射(JavaScript Reflection)
- 面向对象编程小例子
- C++运算符重载(++,--)
- 正则表达式
- jdbc数据库链接之抽取工具类
- HRBUST 2040 二叉树的遍历
- 搭建Hadoop的Eclipse开发环境
- 打印出如下图形
- 数组丶List和ArrayList的区别
- hdu 3652 13倍数
- MySql迁移到HBase数据库(服务器)
- 1062. Talent and Virtue (25)
- POJ 2828 Buy Tickets(线段树的单点更新)