利用JDBC完成数据库的CRUD
2015-09-13 15:52
513 查看
利用JDBC完成数据库的CRUD
----------------------------------------------------------------------------------------------------
src下面创建一个文件: dbinfo.properties
className=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day14
user=root
password=123456
----------------------------------------------------------------------------------------------------
public class JdbcUtil {
private static String className;
private static String url;
private static String user;
private static String password;
static{
try {
// 使用类加载器读取配置文件中的信息
InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
Properties props = new Properties();
props.load(in);
className = props.getProperty("className");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
Class.forName(className);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws Exception{
return DriverManager.getConnection(url,user,password);
}
public static void release(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
rs = null;
}
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
stmt = null;
}
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
conn = null;
}
}
}
----------------------------------------------------------------------------------------------------
/**
create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date
);
insert into users(name,password,email,birthday) values('zs','123456','zs@sina.com','1980-12-04');
insert into users(name,password,email,birthday) values('lisi','123456','lisi@sina.com','1981-12-04');
insert into users(name,password,email,birthday) values('wangwu','123456','wangwu@sina.com','1979-12-04');
*/
// 注: 配置文件中操作的是day14的数据库中的users表格中的数据
----------------------------------------------------------------------------------------------------
public class JdbcCRUD {
@Test
public void add(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("insert into users(name,password,email,birthday)
values('gfy','123456','gfy@sina.com','2015-08-07')");
Assert.assertEquals(1, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void update(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("update users set password='000' where name='gfy'");
Assert.assertEquals(4, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void queryOne(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from users where name='gfy'");
if(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("email"));
}
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void queryAll(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from users");
while(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("email"));
}
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void delete(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("delete from users where name='gfy'");
Assert.assertEquals(4, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
src下面创建一个文件: dbinfo.properties
className=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day14
user=root
password=123456
----------------------------------------------------------------------------------------------------
public class JdbcUtil {
private static String className;
private static String url;
private static String user;
private static String password;
static{
try {
// 使用类加载器读取配置文件中的信息
InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");
Properties props = new Properties();
props.load(in);
className = props.getProperty("className");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
Class.forName(className);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws Exception{
return DriverManager.getConnection(url,user,password);
}
public static void release(ResultSet rs,Statement stmt,Connection conn){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
rs = null;
}
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
stmt = null;
}
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
conn = null;
}
}
}
----------------------------------------------------------------------------------------------------
/**
create table users(
id int primary key auto_increment,
name varchar(40),
password varchar(40),
email varchar(60),
birthday date
);
insert into users(name,password,email,birthday) values('zs','123456','zs@sina.com','1980-12-04');
insert into users(name,password,email,birthday) values('lisi','123456','lisi@sina.com','1981-12-04');
insert into users(name,password,email,birthday) values('wangwu','123456','wangwu@sina.com','1979-12-04');
*/
// 注: 配置文件中操作的是day14的数据库中的users表格中的数据
----------------------------------------------------------------------------------------------------
public class JdbcCRUD {
@Test
public void add(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("insert into users(name,password,email,birthday)
values('gfy','123456','gfy@sina.com','2015-08-07')");
Assert.assertEquals(1, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void update(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("update users set password='000' where name='gfy'");
Assert.assertEquals(4, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void queryOne(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from users where name='gfy'");
if(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("email"));
}
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void queryAll(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from users");
while(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getString("email"));
}
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
@Test
public void delete(){
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = JdbcUtil.getConnection();
stmt = conn.createStatement();
int i = stmt.executeUpdate("delete from users where name='gfy'");
Assert.assertEquals(4, i);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
JdbcUtil.release(rs, stmt, conn);
}
}
}
----------------------------------------------------------------------------------------------------
相关文章推荐
- slick使用普通的sql操作数据
- Mysql添加外键约束
- SQL隔离级别
- Exchange 2010邮箱数据库内容索引状态失败
- 分享一个Linux下安装ASM+ORACLE的自动化脚本(二)
- VB与数据库的总结
- 数据库
- mongodb ,redis,memcache 相关比较
- 数据库的四种隔离级别
- exchange2010安装及配置
- 【总结】修改mysql密码的办法
- django 1.8 官方文档翻译: 2-5-10 数据库函数
- [转] SQL Server游标的使用
- 如何为mysql建立索引
- ssh框架+oracle实现将文件保存到服务器
- SQL server数据库的学习内容
- 分享一个Linux下安装ASM+ORACLE的自动化脚本(一)
- Oracle date 类型to_char获取月份英文简写
- 安装oracle11g学习版遇到的几个问题
- 第二篇 Mysql常用操作记录(转载)