数据库_jdbc_入门
来源:互联网 发布:淘宝跳转代码 编辑:程序博客网 时间:2024/05/22 01:37
demo1
package cn.itcast.demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/*mysql -uroot -prootset character_set_client=gb2312;set character_set_results=gb2312;create database day14;use day14;show tables; create table user( id int primary key, name varchar(20), psw varchar(40), email varchar(40), birthday date ); insert into user(id,name,psw,email,birthday) values(1,'林黛玉','lindaiyu','lindaiyu@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(2,'薛宝钗','xuebaochai','xuebaochai@163.com','1993-06-07'); insert into user(id,name,psw,email,birthday) values(3,'史湘云','shixiangyun','shixiangyun@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(4,'妙玉','miaoyu','miaoyu@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(5,'晴雯','qinwen','qinwen@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(6,'爱哥哥','igg','igg@163.com','1991-06-07'); select * from user; */public class demo1 { public static void main(String[] args) throws SQLException { /*方法说明: *jdbc连接标准6步! */ //1加载驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //2获取Connection String url="jdbc:mysql://localhost:3306/day14"; String user="root"; String password="root"; Connection conn=DriverManager.getConnection(url, user, password); //3获取Statement对象,专门用于发送SQL语句 Statement st=conn.createStatement(); //4用Statement向数据库执行查询语句,返回结果集ResultSet String sql="select * from user"; ResultSet rs=st.executeQuery(sql); //ResultSet rs = st.executeQuery("select * from user"); //5while循环结果集指针 while (rs.next()) { System.out.println("id="+rs.getObject("id")); System.out.println("name="+rs.getObject("name")); System.out.println("psw="+rs.getObject("psw")); System.out.println("email="+rs.getObject("email")); System.out.println("birthday="+rs.getObject("birthday")); } //6关闭资源,先ResultSet再Statement最后Connection rs.close(); st.close(); conn.close(); }}
demo2_1
package cn.itcast.demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import cn.itcast.domain.User;public class demo2_1 { public static void main(String[] args) throws SQLException, ClassNotFoundException { /*方法说明: *正宗的jdbc连接标准6步! */ String url="jdbc:mysql://localhost:3306/day14?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="root"; Connection conn=null; Statement st=null; ResultSet rs=null; List list=null; try { //1加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2获取Connection conn=DriverManager.getConnection(url, user, password); //3获取Statement对象,专门用于发送SQL语句 st=conn.createStatement(); //4用Statement向数据库执行查询语句,返回结果集ResultSet rs = st.executeQuery("select * from user"); //5while循环结果集指针 list=new ArrayList(); while (rs.next()) { //一般是将获取的数据封闭到JavaBean User user1=new User(); user1.setId(rs.getInt("id")); user1.setName(rs.getString("name")); user1.setPsw(rs.getString("psw")); user1.setEmail(rs.getString("email")); user1.setBirthday(rs.getDate("birthday")); list.add(user1); } System.out.println(list); } finally{ //6关闭资源,先ResultSet再Statement最后Connection if (rs!=null) { try { rs.close(); } catch (Exception e) { e.printStackTrace(); } rs=null; } if (st!=null) { try { st.close(); } catch (Exception e) { e.printStackTrace(); } st=null; } if (conn!=null) { try { conn.close(); } catch (Exception e) { e.printStackTrace(); } conn=null; } } }}demo2
package cn.itcast.demo;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import cn.itcast.domain.User;/*mysql -uroot -prootset character_set_client=gb2312;set character_set_results=gb2312;create database day14;use day14;show tables; create table user( id int primary key, name varchar(20), psw varchar(40), email varchar(40), birthday date ); insert into user(id,name,psw,email,birthday) values(1,'林黛玉','lindaiyu','lindaiyu@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(2,'薛宝钗','xuebaochai','xuebaochai@163.com','1993-06-07'); insert into user(id,name,psw,email,birthday) values(3,'史湘云','shixiangyun','shixiangyun@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(4,'妙玉','miaoyu','miaoyu@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(5,'晴雯','qinwen','qinwen@163.com','1992-06-07'); insert into user(id,name,psw,email,birthday) values(6,'爱哥哥','igg','igg@163.com','1991-06-07'); select * from user; *//* public class Driver extends NonRegisteringDriver implements java.sql.Driver { // Register ourselves with the DriverManager static { try { java.sql.DriverManager.registerDriver(new Driver()); } catch (SQLException E) { throw new RuntimeException("Can't register driver!"); } } }*/public class demo2 { public static void main(String[] args) throws SQLException, ClassNotFoundException { /*方法说明: *jdbc连接标准6步! */ //1加载驱动 //DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //推荐这种方式:仅依赖一串字符串,并且避免了重复注册 //(Driver的静态代码块已经new过一次,见上面) Class.forName("com.mysql.jdbc.Driver"); //2获取Connection String url="jdbc:mysql://localhost:3306/day14?useUnicode=true&characterEncoding=utf-8"; url="jdbc:mysql:///day14?useUnicode=true&characterEncoding=utf-8"; String user="root"; String password="root";// Connection conn=DriverManager.getConnection(url, user, password); String url_sql="jdbc:mysql://localhost:3306/day14?user=root&password=root"; String url_oracle="jdbc:oracle:thin:@localhost:1521:day14?user=root&password=root"; String url_sql_server="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=day14?user=root&password=root"; Connection conn=DriverManager.getConnection(url_sql); //3获取Statement对象,专门用于发送SQL语句 Statement st=conn.createStatement(); //4用Statement向数据库执行查询语句,返回结果集ResultSet String sql="select * from user"; ResultSet rs=st.executeQuery(sql); //ResultSet rs = st.executeQuery("select * from user"); //5while循环结果集指针 while (rs.next()) { //一般是将获取的数据封闭到JavaBean User user1=new User(); user1.setId(rs.getInt("id")); user1.setName(rs.getString("name")); user1.setPsw(rs.getString("psw")); user1.setEmail(rs.getString("email")); user1.setBirthday(rs.getDate("birthday")); /* * System.out.println("id="+rs.getObject("id")); System.out.println("name="+rs.getObject("name")); System.out.println("psw="+rs.getObject("psw")); System.out.println("email="+rs.getObject("email")); System.out.println("birthday="+rs.getObject("birthday"));*/ } //6关闭资源,先ResultSet再Statement最后Connection rs.close(); st.close(); conn.close(); }}
demo3
package cn.itcast.demo;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import org.junit.Test;import cn.itcast.domain.User;import cn.itcast.utils.JdbcUtils;public class demo3 { //Junit测试insert插入 @Test public void insert(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); st=conn.createStatement(); String sql="insert into user(id,name,psw,email,birthday) values(7,'探春','123456','tanchun@163.com','1992-06-07')"; int num=st.executeUpdate(sql); if (num>0) { System.out.println("插入成功!"); }else { System.out.println("插入失败!"); } } catch (SQLException e) { throw new RuntimeException(e); }finally{ JdbcUtils.release(conn, st, rs); } } //Junit测试update更新 @Test public void update(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); st=conn.createStatement(); String sql="update user set birthday='1992-06-06' where name='探春'"; int num=st.executeUpdate(sql); if (num>0) { System.out.println("更新成功!"); }else { System.out.println("更新失败!"); } } catch (SQLException e) { throw new RuntimeException(e); }finally{ JdbcUtils.release(conn, st, rs); } } //Junit测试delete删除记录 @Test public void delete(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); st=conn.createStatement(); String sql="delete from user where name='真事隐'"; int num=st.executeUpdate(sql); if (num>0) { System.out.println("删除成功!"); }else { System.out.println("删除失败!"); } } catch (SQLException e) { throw new RuntimeException(e); }finally{ JdbcUtils.release(conn, st, rs); } } //Junit测试select查询记录 @Test public void select(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); st=conn.createStatement(); String sql="select id,name,psw,email,birthday from user where name='妙玉'"; rs=st.executeQuery(sql); User user=null; if (rs.next()) { user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPsw(rs.getString("psw")); user.setEmail(rs.getString("email")); user.setBirthday(rs.getDate("birthday")); } System.out.println(user.getName()); } catch (SQLException e) { throw new RuntimeException(e); }finally{ JdbcUtils.release(conn, st, rs); } } //Junit测试selectAll查询所有记录 @Test public void selectAll(){ Connection conn=null; Statement st=null; ResultSet rs=null; try { conn=JdbcUtils.getConnection(); st=conn.createStatement(); String sql="select id,name,psw,email,birthday from user "; rs=st.executeQuery(sql); List list=new ArrayList(); while (rs.next()) { User user=new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPsw(rs.getString("psw")); user.setEmail(rs.getString("email")); user.setBirthday(rs.getDate("birthday")); list.add(user); } System.out.println(list.get(1).getClass()); } catch (SQLException e) { throw new RuntimeException(e); }finally{ JdbcUtils.release(conn, st, rs); } }}domain包中的User
package cn.itcast.domain;import java.util.Date;public class User { private int id; private String name; private String psw; private String email; private Date birthday; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPsw() { return psw; } public void setPsw(String psw) { this.psw = psw; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; }}utils包中的JdbcUtils
package cn.itcast.utils;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class JdbcUtils { private static Properties pro=new Properties(); /* * 静态成员Properties * 静态代码块:加载配置文件,注册驱动 * 静态方法1:获取连接 * 静态方法2:释放连接 * 工具类的异常只管抛,也可以转型后抛 * db.properties文件位于类目录下即src */ static{ String pro_name="db.properties"; InputStream in=JdbcUtils.class.getClassLoader().getResourceAsStream(pro_name); try { pro.load(in); Class.forName(pro.getProperty("driver")); } catch (Exception e) { // 静态代码块的异常只能转型后抛出 throw new ExceptionInInitializerError(e); } } //方法1:获取连接 public static Connection getConnection() throws SQLException{ String url=pro.getProperty("url"); String user=pro.getProperty("user"); String password=pro.getProperty("password"); Connection conn=DriverManager.getConnection(url, user, password); return conn; } //方法2:释放连接 public static void release(Connection conn,Statement st,ResultSet rs){ if (conn!=null) { try { conn.close(); }catch (Exception e) { //只能记录!一旦抛出,后面的2条if代码就无法执行了 e.printStackTrace(); } conn=null; } if (st!=null) { try { st.close(); }catch (Exception e) { //只能记录!一旦抛出,后面的1条if代码就无法执行了 e.printStackTrace(); } st=null; } if (rs!=null) { try { rs.close(); }catch (Exception e) { e.printStackTrace(); } rs=null; } }}src类目录下db.properties
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/day14?useUnicode=true&characterEncoding=utf-8user=rootpassword=root#driver=oracle.jdbc.driver.OracleDriver#url=jdbc:oracle:thin:@localhost:1521:orcl#user=system#password=itcast
用到的MySQL驱动:mysql-connector-java-5.0.8-bin.jar
用到的oracle驱动:ojdbc14.jar
0 0
- 数据库_jdbc_入门
- 数据库_jdbc_分页案例
- 数据库_jdbc_连接池
- 数据库_jdbc_事务1
- 数据库_jdbc_事务2_ThreadLocal
- 数据库_jdbc_改造MVC案例(登录注册)
- 数据库_jdbc_连接池(Tomcat创建)
- 数据库_JDBC_连接SQL Sever 常见Bug
- 数据库_jdbc_大数据(text+blob)_批处理
- 数据库_jdbc_调用存储过程+获取自动生成主键
- 数据库_jdbc_连接池+框架_改造分页案例
- 数据库入门
- 数据库入门
- 数据库入门
- 数据库入门
- 数据库入门
- 数据库入门
- 数据库入门
- oracle EBS数据移植工具FNDLOAD的用法整理
- 经纬度 距离,角度 计算另一点经纬度
- Libgdx 遇到的一些问题
- Hibernate懒加载解析
- 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值及用setsockopt()来控制recv()与send()的超时
- 数据库_jdbc_入门
- 某公司面试题(2013-12-18)
- 人脸识别必读的N篇文章
- mysql忘记root密码怎么办
- 5、内存管理(自定义MyArray)-OC
- QQ群功能设计与心理学
- 17周项目二(7)(比较字符串)(用指针作参数)
- ASP.NET初了解(一)--Html控件和Web控件
- Linux查看系统硬件信息