Hibenate的JDBC的使用

JDBC通俗来说就是Java连接数据库的技术

接下来就讲讲数据库怎么连接的

连接步骤~

1.需要连接数据库的jar包:mysql-connector-java-5.1.18-bin.jar,如图:



2.注册驱动

mysql驱动

oracle驱动

。。。。。

		driver = "com.mysql.jdbc.Driver";
项目中要有jar包~mysql-connector-java-5.1.18-bin.jar

3.获取连接

连接  url  
url
jdbc:oracle:thin:@localhost:1521:XE---这个
jdbc:mysql://127.0.0.1:3306/zmysql
user
password

		url = "jdbc:mysql://127.0.0.1:3307/ssh?useUnicode=true&characterEncoding=utf8";
		user = "root";
		password = "root";

4.创建pstmt/stmt对象

如果有占位符替换占位符

		String sql = "insert into tb_student values(null,'"+stu.getName()+"',"+stu.getAge()+")";
	        pstmt = conn.prepareStatement(sql);
5.执行sql

int executeUpdate();
增 删  改
Result executeQuery();

execute();

		int num = pstmt.executeUpdate();
		System.out.println("成功插入"+num);
6.如果有结果集,处理结果集

ResultSet rs=null;//结果集

7.释放资源

Connection
PreparedStatement
ResultSet--结果集
后创建的先释放

ConnectionFactory.close(null, pre, con);
第一个参数是结果集,如果没有就为null~

代码编写:

把注册驱动,获取连接,关闭连接释放资源封装成了一个类,这样方便使用~

ConnectionFactory:

public class ConnectionFactory {

	private static String driver;
	private static String url;
	private static String user;
	private static String password;
	
	static{
		//1.注册驱动
		driver = "com.mysql.jdbc.Driver";
		url = "jdbc:mysql://127.0.0.1:3307/ssh?useUnicode=true&characterEncoding=utf8";
		user = "root";
		password = "root";
		
	}
	
	/**
	 * 2.获取连接
	 * */
	public static Connection getConnection() throws Exception {
		Class.forName(driver);
		return DriverManager.getConnection(url, user, password);
	}
	
	/**
	 * 释放资源
	 * */
	public static void close(ResultSet rs,
			PreparedStatement pstmt ,Connection conn) throws SQLException{
		if(rs!=null){
			rs.close();
		}
		if(pstmt!=null){
			pstmt.close();
		}
		if(conn!=null){
			conn.close();
		}
	}
}
在主类中~有一个查询所有学生的方法~

public void queryAll(){
		try {
			Connection conn = null;
			PreparedStatement pstmt = null;
			ResultSet rs = null;//结果集
			try{
				//获取连接
				conn = ConnectionFactory.getConnection();
				//创建pstmt对象
				String sql = "select * from tb_student";
				pstmt = conn.prepareStatement(sql);
				//执行查询
				rs = pstmt.executeQuery();
				//处理结果集
				while(rs.next()){
					long id = rs.getLong("id");
					String name = rs.getString("name");
					int age = rs.getInt("age");
					System.out.println(id+"=="+name+"=="+age);
				}
			}finally{
				//释放资源
				ConnectionFactory.close(rs, pstmt, conn);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}


有疑问的可以和我讨论啊~我也是刚学,交流经验



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值