新手入门
- API关键字:
QueryRunner
insert(String sql,ResultSetHandle,Object… args):添加操作
query(String sql,ResultSetHandle,Object… args):查询操作
update(String sql,Object… args)
ResultSetHandler:把ResultSet转对象
BeanHandle(Class type);
BeanListHandle(Class type);
- 编写StuDao步骤
1.创建实体类student
2.stuDao接口,并先定义方法
3.创建实现类studentDaoImpl
4.使用BDUtils中的QueryRunner类
5.QueryRunner在实例化的时候需要数据源
6.创建c3p0数据源(c3p0-config.xml)文件放在src
编写实体类
package cn.kgc.demo.day04demo.BDUtils;
import java.util.Date;
public class student {
private String s_id;
private String s_name;
private String s_sex;
private Date s_birthday;
private String s_class;
public String getS_id() {
return s_id;
}
public void setS_id(String s_id) {
this.s_id = s_id;
}
public String getS_name() {
return s_name;
}
public void setS_name(String s_name) {
this.s_name = s_name;
}
public String getS_sex() {
return s_sex;
}
public void setS_sex(String s_sex) {
this.s_sex = s_sex;
}
public Date getS_birthday() {
return s_birthday;
}
public void setS_birthday(Date s_birthday) {
this.s_birthday = s_birthday;
}
public String getS_class() {
return s_class;
}
public void setS_class(String s_class) {
this.s_class = s_class;
}
public student(String s_id, String s_name, String s_sex, Date s_birthday, String s_class) {
this.s_id = s_id;
this.s_name = s_name;
this.s_sex = s_sex;
this.s_birthday = s_birthday;
this.s_class = s_class;
}
public student() {
}
@Override
public String toString() {
return s_id+s_name+s_sex+s_birthday;
}
}
实体类方法接口
package cn.kgc.demo.day04demo.BDUtils;
import java.sql.SQLException;
import java.util.List;
public interface UserDao {
public List<student> queryStuAll() throws SQLException;
public void addStu(student stu) throws SQLException;
public void deleteStu (Integer s_id) throws SQLException;
public void updateStu(Integer s_id) throws SQLException;
public void queryStu(student stu);
}
接口实现类
package cn.kgc.demo.day04demo.BDUtils;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.SQLException;
import java.util.List;
public class UserDaoImpl implements UserDao {
private ComboPooledDataSource dataSource=new ComboPooledDataSource();
private QueryRunner qr=new QueryRunner(dataSource);
//查所有
@Override
public List<student> queryStuAll() throws SQLException {
String sql=" select * from student ";
List<student> studentList=qr.query(sql,new BeanListHandler<student>(student.class));
return studentList;
}
//增
@Override
public void addStu(student stu) throws SQLException {
String sql = " insert into student(s_id,s_name,s_sex,s_birthday,s_class)values(?,?,?,?,?)" ;
qr.insert(sql,new BeanHandler<student>(student.class),stu.getS_id(),stu.getS_name(),stu.getS_sex(),stu.getS_birthday(),stu.getS_class());
}
//删
@Override
public void deleteStu(Integer s_id) throws SQLException {
String sql=" delete from student where s_id=? ";
qr.insert(sql,new BeanHandler<student>(student.class),s_id);
}
//改
@Override
public void updateStu(Integer s_id) throws SQLException{
String sql=" update student set s_name='张三' where s_id=? ";
qr.insert(sql,new BeanHandler<student>(student.class),s_id);
}
@Override
public void queryStu(student stu) {
}
}
测试类
package cn.kgc.demo.day04demo.BDUtils;
import org.junit.Test;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
public class testStudent {
//查
@Test
public void stuDao1()throws Exception{
UserDao U1=new UserDaoImpl();
List<student> stus=U1.queryStuAll();
for(student a:stus){
System.out.println(a.getS_id()+"\t"+a.getS_name()+"\t"+a.getS_sex()+"\t"+a.getS_birthday()+"\t"+a.getS_class());
}
}
//增
@Test
public void stuDao2() throws Exception{
UserDao U2=new UserDaoImpl();
student stu=new student();
stu.setS_id("123");
stu.setS_name("赵云");
stu.setS_sex("男");
stu.setS_birthday(new Date(new java.util.Date().getTime()));
stu.setS_class("99999");
U2.addStu(stu);
}
//删
@Test
public void stuDao3() throws Exception{
UserDao U3=new UserDaoImpl();
U3.deleteStu(123);
}
//改
@Test
public void stuDao4() throws Exception{
UserDao U4=new UserDaoImpl();
U4.updateStu(103);
}
}
创建C3P0数据源
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/day09hw?characterEncoding=utf-8</property>
<property name="user">root</property>
<property name="password">root</property>
</default-config>
</c3p0-config>
创建db.properties
driverName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/day09hw
user=root
pwd=root