在Eclipse中配置JDBC

版权声明:感谢查看,转载请注明原地址,知识与您同在。 https://blog.csdn.net/a1023182899/article/details/90551075

1,注册驱动
2,获取连接
3,创建 statement或者 preparedstatement对象
(对sq语句进行编译,翻译成数据库的方言)
4,执行sql语句;
5,处理结果集(没有结果直接跳到6步)
6,关闭资源

1,注册驱动
下载JDBC的驱动jar文件
右击工程的Build Path中的Configure Build Path操作如下:
在Lirbaries点击Add JARS或Add External jars,将mysql-connector-java-5.1.46.jar添加即可

2,代码如下

package com.briup.web.jdbc;

import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class Conn {
	/*
	 * 连接数据库的四要素
	 */
	/*驱动类*/
	private String driver="oracle.jdbc.driver.OracleDriver";
	/*数据库的请求资源定位符URL
	 * jdbc:oracle协议
	 * thin连接方式,瘦连接
	 * @127.0.0.1 数据库所在的ip
	 * 1521端口
	 * XE数据库的名字
	 * */
	//private String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
	private String url="jdbc:oracle:thin:@192.168.43.216:1521:XE";
	/*连接数据库的用户名*/
	private String user="estore";
	/*连接数据库的用户密码*/
	private String password="estore";
	
	public static void main(String[] args) {
		Student stu=new Student(3, "jake", 34, new java.util.Date());
		//new Conn().insertStu(stu);
		new Conn().selectStu();
	}
	public void insertStu(Student stu){
		Connection conn=null;
		PreparedStatement ps=null;
		//注册驱动 (反射)
			try {
				Class.forName(driver);
				//获取连接
				conn=DriverManager.getConnection(url, user, password);
				String sql="insert into s_stu values(?,?,?,?)";
				//创建PreparedStatement对象
				ps=conn.prepareStatement(sql);
				//给问号赋值,第一个参数表示第几个问号,
				//第二个参数表示替换问号的值
				ps.setLong(1, stu.getId());
				ps.setString(2, stu.getName());
				ps.setInt(3, stu.getAge());
				//getTime()获取时间戳long类型,
				//new java.sql.Date(new java.util.Date().getTime())
				ps.setDate(4, new Date(stu.getBirth().getTime()));
				//执行sql语句
				ps.execute();
			} catch (ClassNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally {
				try {
					if(ps!=null)ps.close();
					if(conn!=null)conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
	}
	public void selectStu(){
		Connection conn=null;
		PreparedStatement ps=null;
		//接受数据库查询回来的一行一行内容
		ResultSet rs=null;
		try {
			//注册驱动
			Class.forName(driver);
			//获取连接
			conn=DriverManager.getConnection(url, user, password);
			String sql="select id,name,age,birth from s_stu";
			//构建PreapredStatement对象
			ps=conn.prepareStatement(sql);
			//执行sql语句的过程
			rs=ps.executeQuery();
			//处理结果,rs.next()判断封装在resultset结果中下一行是否
			//有值
			/*(id,name,age,birth)
			 * (id,name,age,birth)
			 * (id,name,age,birth)
			 */
			//list集合,存储数据用的,<>中的内容指明只能存放什么对象
			List<Student> list=new ArrayList<>();
			while(rs.next()){
				long id=rs.getLong(1);
				String name=rs.getString(2);
				int age=rs.getInt(3);
				//java.sql.Date
				Date date=rs.getDate(4);
				//把java.sql.Date转化为java.util.Date
				java.util.Date birth=new java.util.Date(date.getTime());
				//构建Student对象
				Student s=new Student(id, name, age, birth);
				//把对象添加到集合中
				list.add(s);
			}
			
			for(Student s:list){
				System.out.println(s.getId()+"--"+s.getName());
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public void selectStuByName(String name){}
	public void updateStu(Student stu){}
	public void deleteStu(long id){};
}
展开阅读全文

没有更多推荐了,返回首页