JDBC进阶版本(JDBCVersion2)
来源:互联网 发布:阿里云电视盒子破解 编辑:程序博客网 时间:2024/05/21 22:51
JDBC进阶版本(JDBCVersion2)
这个版本是基于JDBC基础版本上改进而来,在上一个版本主要是详细讲解了最基础的JDBC操作,只适用于对JDBC工作流程的了解。代码比较冗余,而且可拓展性,复用性等不好。此版本对此有所改进,但这并不是最终的版本,后续会相继推出。学习此版本会让你对JDBC有更深入的了解。
一:JAVA工程
二:测试数据库
<1>数据库和表
<2>数据库初始值
三:BaseDao类
package cn.gson.jdbcversion2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* baseDao类(主要用于创建和关闭连接)
* @author Administrator
*
*/
public class BaseDao {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USERNAME = "root";
private static final String PASSWORD = "1234";
private static Connection con;
/**
* 创建连接的方法
* @return
*/
public static Connection getConnection(){
//1.加载驱动
try {
Class.forName(DRIVER);
con = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return con;
}
/**
* 关闭连接的方法
*/
public static void closeConnection(ResultSet rs,PreparedStatement pt,Connection con){
if(rs != null){
try {
rs.close();
rs = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(pt != null){
try {
pt.close();
pt = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con != null){
try {
con.close();
con = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
四:CRUTDdao类
package cn.gson.jdbcversion2;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* CRUTDao类(此JDBC是不带参数的查询)
* @author Administrator
*
*/
public class CRUTDao {
private static Connection con;
private static Statement st;
private static PreparedStatement pt;
private static ResultSet rs;
/**
* 执行所有的删,改,增
* @return
*/
public static int allUpdate(String sql){
int row = 0;
con = BaseDao.getConnection();
try {
pt = con.prepareStatement(sql);
row = pt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
BaseDao.closeConnection(rs, pt, con);
}
return row;
}
/**
* 执行所有的查询
*/
public static void allSelect(String sql){
con = BaseDao.getConnection();
try {
pt = con.prepareStatement(sql);
rs = pt.executeQuery();
System.out.println("id"+"\t"+"姓名"+"\t"+"年龄"+"\t"+"性别");
while(rs.next()){
int id = rs.getInt(1);
String stu_name = rs.getString(2);
int stu_age = rs.getInt(3);
String stu_gender = rs.getString(4);
System.out.println(id+"\t"+stu_name+"\t"+stu_age+"\t"+stu_gender);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
BaseDao.closeConnection(rs, pt, con);
}
}
}
五:测试类
<1>执行查询方法
public static void main(String[] args) {
int flag = 0;
String sql = "select * from student";
CRUTDao.allSelect(sql);
System.out.println(flag);
}
<2>执行查询方法的结果
<3>执行新增方法
public static void main(String[] args) {
int flag = 0;
String sql = "insert into student (stu_name,stu_age,stu_gender) values('小胡',18,'男')";
flag = CRUTDao.allUpdate(sql);
System.out.println(flag);//flag不等于0表示成功
}
<4>执行新增方法的结果
<5>执行修改方法
public static void main(String[] args) {
int flag = 0;
String sql = "update student set stu_name='小刘' where stu_gender='男'";
CRUTDao.allSelect(sql);
System.out.println(flag);//flag不等于0表示成功
}
<6>执行修改方法的结果
<7>执行删除方法
public static void main(String[] args) {
int flag = 0;
String sql = "update student set stu_name='小刘' where stu_gender='男'";
CRUTDao.allSelect(sql);
System.out.println(flag);//flag不等于0表示成功
}
<8>执行删除方法的结果
附:需要下载jdbc驱动包
- JDBC进阶版本(JDBCVersion2)
- Java进阶(一)JDBC
- JDBC进阶
- jdbc进阶
- JDBC进阶
- JDBC进阶
- JDBC高级版本(JDBCVersion3)
- JDBC高级版本(JDBCVersion4)
- JDBC进阶(SXT)
- JDBC 进阶版
- JDBC进阶功能
- Java进阶之JDBC
- JDBC进阶 + 数据源
- JDBC进阶功能
- JDBC进阶功能2
- JDBC数据库连接方式(完整版本)
- Jmeter JDBC显示事务处理(优化版本)
- java web学习(进阶篇)七 Spring JDBC
- 指令变形的思想
- 奋斗与首付,谁更能承载生命之重?
- POJ 2117 Electricity(割点)
- Android6.0权限适配
- void* 指针有什么用
- JDBC进阶版本(JDBCVersion2)
- 互联网公司面试题库
- 数据挖掘---分类算法之SOFM算法
- Http 协议 post multipart/form-data
- 串行、并行计算自动切换模板
- Longest Palindromic Substring , Leetcode
- eclipse添加源码路径和头文件路径或者过滤文件
- 心得小结
- 微信小程序开发---应用与页面的生命周期