在Eclipse中配置JDBC

    xiaoxiao2023-11-14  179

    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){}; }
    最新回复(0)