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驱动包

0 0
原创粉丝点击