JDBC的最终整合

通过学习:http://www.cnblogs.com/smyhvae/p/4050825.html(原)

对于"db-config.properties"   右键点击pack(com.vae.db这个包,具体看你自己新建的包名)→新建→文件

//数据库链接地址
jdbc.url=jdbc:mysql://localhost:3306/new_schema+?serverTimezone=GMT%2B8	//
//数据库登录账户
jdbc.username=root
//数据库登录密码
jdbc.password=yulang123
//加载数据库驱动程序
jdbc.driver=com.mysql.cj.jdbc.Driver

对于ConclusionJDBC,它是一个是一个驱动类

package com.vae.db;


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 ConclusionJDBC {

	//数据库连接地址
	public static String URL;
	//用户名
	public static String USERNAME;
	//密码
	public static String PASSWORD;
	//mysql的驱动类
	public static String DRIVER;

	private static ResourceBundle rb = ResourceBundle.getBundle("com.vae.db.db-config");
//静态,加载一次
static{
		URL = rb.getString("jdbc.url");
		USERNAME = rb.getString("jdbc.username");
		PASSWORD = rb.getString("jdbc.password");
		DRIVER = rb.getString("jdbc.driver");
		try {
			Class.forName(DRIVER);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//定义一个获取数据库连接的方法
	public static Connection getMysqlJDBC(){
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
		} catch (SQLException e) {
			e.printStackTrace();
			System.out.println("获取连接失败");
		}
		return conn;
	}
	
	//关闭
	public static void closejdbc(ResultSet resultset,Statement statement,Connection connection) {
		try {
			if(resultset!=null) {
				resultset.close();
			}
			if(statement!=null) {
				statement.close();
			}if(connection!=null) {
				connection.close();
			}


		}catch (SQLException e) {
			// TODO: handle exception
			e.printStackTrace();
		}

	}
}

对于Person1,它是一个实体类

package com.vae.db;

public class Person1 {
	private int exercis_id;
	private String exercis_name;
	private String exercis_address;
	private String exercis_phone;
	
	public int getExercis_id() {
		return exercis_id;
	}
	public void setExercis_id(int exercis_id) {
		this.exercis_id = exercis_id;
	}
	public String getExercis_name() {
		return exercis_name;
	}
	public void setExercis_name(String exercis_name) {
		this.exercis_name = exercis_name;
	}
	public String getExercis_address() {
		return exercis_address;
	}
	public void setExercis_address(String exercis_address) {
		this.exercis_address = exercis_address;
	}
	public String getExercis_phone() {
		return exercis_phone;
	}
	public void setExercis_phone(String exercis_phone) {
		this.exercis_phone = exercis_phone;
	}
	@Override
	public String toString() {
		return "Person1 [exercis_id=" + exercis_id + ", exercis_name=" + exercis_name + ", exercis_address="
				+ exercis_address + ", exercis_phone=" + exercis_phone + "]";
	}

	

}

对于Test,它是一个测试类

package com.vae.db;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import java.util.ArrayList;
import java.util.List;

public class Test {
	private static Connection connection=null;

	public static void main(String[] args)   {
        // TODO Auto-generated method stub
		//构造SQL语句(插入具体的数据)
		
		Person1 person=new Person1();
		connection=ConclusionJDBC.getMysqlJDBC();
		person.setExercis_id(99);
		person.setExercis_name("fuck");
		person.setExercis_address("shut");
		person.setExercis_phone("123456");
		//insert(person);
		//update(person);
		//delete(person);
		select(person);
    }

	//增
	public static void insert(Person1 person) {
		String sql = "insert into person (exercis_id,exercis_name,exercis_address) value(?,?,?)";
		
		PreparedStatement preparedStatement=null;
		try {
			//构造一个statementment实例(用来发送SQL语句的载体)
			preparedStatement=connection.prepareStatement(sql);
			
			preparedStatement.setInt(1, person.getExercis_id());
			preparedStatement.setString(2, person.getExercis_name());
			preparedStatement.setString(3, person.getExercis_address());
			System.out.println(preparedStatement+"error");

			//5、执行SQL语句(其实是向数据库中发送sql语句)
			int a=preparedStatement.executeUpdate();
			
			
			//通过后台知道程序运行是否成功
			
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			System.out.println("添加失败");
		}finally{
			//6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, preparedStatement, connection);
		}
	}
	//改
	public static void update(Person1 person) {
		String sql="update person set exercis_name=?,exercis_address=? where exercis_id=?";
		PreparedStatement preparedStatement=null;
		try {
			//构造一个statementment实例(用来发送SQL语句的载体)
			 preparedStatement=connection.prepareStatement(sql);
			 preparedStatement.setString(1, person.getExercis_name());
			 preparedStatement.setString(2, person.getExercis_address());
			 preparedStatement.setInt(3, person.getExercis_id());
			//5、执行SQL语句(其实是向数据库中发送sql语句)
			 preparedStatement.executeUpdate();
			
			
			//通过后台知道程序运行是否成功
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally {
                //6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, preparedStatement, connection);
		}
		
	}
	//删除
	public static void delete(Person1 person) {
		
		PreparedStatement preparedStatement=null;
		try {
			String sql="DELETE  FROM person where exercis_id=?";
			//构造一个statementment实例(用来发送SQL语句的载体)
			preparedStatement=connection.prepareStatement(sql);
			preparedStatement.setInt(1,person.getExercis_id());
			//5、执行SQL语句(其实是向数据库中发送sql语句)
			System.out.println(preparedStatement);
			int a=preparedStatement.executeUpdate();
			
			
			
			//通过后台知道程序运行是否成功
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}finally {
			//6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, preparedStatement, connection);
		}	
	}
	//查询
	public static void  select(Person1 person) {
		String sql="select exercis_id,exercis_name,exercis_address from person where exercis_id=?";
		//构造一个statementment实例(用来发送SQL语句的载体)
		PreparedStatement preparedStatement=null;
		ResultSet resultset=null;
		List<Person1> personsz = new ArrayList<Person1>();
		try {
			preparedStatement=connection.prepareStatement(sql);
			preparedStatement.setInt(1, person.getExercis_id());	
			//executeQuery,返回结果集
			 resultset=preparedStatement.executeQuery();
			
			while(resultset.next()) {
				//获取第一行一个信息
//				int id=resultset.getInt(1);
//				String name=resultset.getString(2);
//				String add=resultset.getString(3);
//				System.out.println("id="+id+",name="+name+",add="+add);
				Person1 person2=new Person1();
				person2.setExercis_id(resultset.getInt(1));
				person2.setExercis_name(resultset.getString(2));
				person2.setExercis_address(resultset.getString(3));
				System.out.println(person2.toString());
				personsz.add(person2);
			}
			
		} catch (SQLException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}finally{
            //6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(resultset, preparedStatement, connection);
		}
		
	}
	
}

。对于"生命壹号"这位博主分享学习资源表示敬意,而且是如此详细。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值