欢迎使用Markdown编辑器写博客
dao包
package com.bdqn.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.bdqn.utils.Constants;
public class BaseDao {
//获取连接
static Connection conn=null;
public static Connection getConnection(){
String driver=Constants.getInstance().getValue("driver");
String url=Constants.getInstance().getValue("url");
String user=Constants.getInstance().getValue("user");
String pwd=Constants.getInstance().getValue("pwd");
try {
Class.forName(driver);
conn=DriverManager.getConnection(url, user, pwd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
//关闭资源
public static void close(Connection conn){
try {
if (conn!=null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//增删改
public static int update(String sql,Object [] objects){
int num = 0;
PreparedStatement ps=null;
try {
conn=getConnection();
ps=conn.prepareStatement(sql);
if (objects!=null && objects.length>0) {
for (int i = 0; i < objects.length; i++) {
ps.setObject((i+1), objects[i]);
}
}
num=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
//模糊查询
public static ResultSet getResultSet(String sql,Object [] objects){
PreparedStatement ps=null;
ResultSet rs=null;
try {
conn=getConnection();
ps=conn.prepareStatement(sql);
if (objects!=null && objects.length>0) {
for (int i = 0; i < objects.length; i++) {
ps.setObject((i+1), objects[i]);
}
}
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
}
package com.bdqn.dao;
import java.util.List;
import com.bdqn.entity.Student;
public interface StudentDao {
public int insert(Student stu);//增加
public int delete(int sid);//删除
public int update(Student stu);//修改
public List<Student> selectAllStudents();//分页查询
public List<Student> selectStudents(String sname);//模糊查询(根据名字查询)
public List<Student> selectStudents(int gid);//根据班级编号查询
}
package com.bdqn.dao;
import java.util.List;
import com.bdqn.entity.Grade;
public interface GradeDao {
public int insert(Grade grade);//增
public int delete(int gid);//删
public int update(Grade grade);//改
public List<Grade> selectAllGrade();
}
bean包
package com.bdqn.entity;
import java.io.Serializable;
public class Grade implements Serializable{
private int gid;
private String gname;
public Grade() {
}
public Grade(int gid, String gname) {
this.gid = gid;
this.gname = gname;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {
this.gname = gname;
}
@Override
public String toString() {
return "Grade [gid=" + gid + ", gname=" + gname + "]";
}
}
package com.bdqn.entity;
import java.io.Serializable;
public class Student implements Serializable{
private int sid;
private String sname;
private int sage;
private String shobby;
private int gid;
public Student() {
}
public Student(int sid, String sname, int sage, String shobby, int gid) {
this.sid = sid;
this.sname = sname;
this.sage = sage;
this.shobby = shobby;
this.gid = gid;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getSage() {
return sage;
}
public void setSage(int sage) {
this.sage = sage;
}
public String getShobby() {
return shobby;
}
public void setShobby(String shobby) {
this.shobby = shobby;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", sage=" + sage
+ ", shobby=" + shobby + ", gid=" + gid + "]";
}
}
impl包
package com.bdqn.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.bdqn.dao.BaseDao;
import com.bdqn.dao.StudentDao;
import com.bdqn.entity.Student;
public class StudentImpl extends BaseDao implements StudentDao{
//增
@Override
public int insert(Student stu) {
String insertSql="insert into student values(?,?,?,?,?)";
Object [] objects={stu.getSid(),stu.getSname(),stu.getSage(),stu.getShobby(),stu.getGid()};
int num=this.update(insertSql, objects);
return num;
}
//删
@Override
public int delete(int sid) {
String deleteSql="delete from student where sid=?";
Object [] objects={sid};
int num=this.update(deleteSql, objects);
return num;
}
//改
@Override
public int update(Student stu) {
String updateSql="update student set sname=?";
Object [] objects={stu.getSname()};
int num=this.update(updateSql, objects);
return num;
}
//模糊查询(根据名字查询)
@Override
public List<Student> selectStudents(String sname) {
String sql = "select * from student where sname like '%?%'";
List<Student> list=null;
try {
ResultSet rs=this.getResultSet(sql, null);
list=new ArrayList<Student>();
while (rs.next()) {
Student stu=new Student();
int id=rs.getInt("sid");
String name=rs.getString("sname");
int age=rs.getInt("sage");
String hobby=rs.getString("shobby");
int gid=rs.getInt("gid");
stu.setSid(id);
stu.setSname(name);
stu.setSage(age);
stu.setShobby(hobby);
stu.setGid(gid);
list.add(stu);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
//根据班级编号查询
@Override
public List<Student> selectStudents(int gid) {
String sql = "select * from student where gid=?";
List<Student> list=null;
try {
ResultSet rs=this.getResultSet(sql, null);
list=new ArrayList<Student>();
while (rs.next()) {
Student stu=new Student();
int id=rs.getInt("sid");
String name=rs.getString("sname");
int age=rs.getInt("sage");
String hobby=rs.getString("shobby");
int gid1=rs.getInt("gid");
stu.setSid(id);
stu.setSname(name);
stu.setSage(age);
stu.setShobby(hobby);
stu.setGid(gid1);
list.add(stu);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
//分页 查询
@Override
public List<Student> selectAllStudents() {
String sql = "select * from student";
List<Student> list=null;
try {
ResultSet rs=this.getResultSet(sql, null);
list=new ArrayList<Student>();
while (rs.next()) {
Student stu=new Student();
int id=rs.getInt("sid");
String name=rs.getString("sname");
int age=rs.getInt("sage");
String hobby=rs.getString("shobby");
int gid=rs.getInt("gid");
stu.setSid(id);
stu.setSname(name);
stu.setSage(age);
stu.setShobby(hobby);
stu.setGid(gid);
list.add(stu);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
package com.bdqn.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.bdqn.dao.BaseDao;
import com.bdqn.dao.GradeDao;
import com.bdqn.entity.Grade;
import com.bdqn.entity.Student;
public class GradeImpl extends BaseDao implements GradeDao{
@Override
public int insert(Grade grade) {
String insertSql="insert into student values(?,?)";
Object [] objects={grade.getGid(),grade.getGname()};
int num=this.update(insertSql, objects);
return num;
}
@Override
public int delete(int gid) {
String deleteSql="delete from student where gid=?";
Object [] objects={gid};
int num=this.update(deleteSql, objects);
return num;
}
@Override
public int update(Grade grade) {
String updateSql="update student set gname=?";
Object [] objects={grade.getGname()};
int num=this.update(updateSql, objects);
return num;
}
@Override
public List<Grade> selectAllGrade() {
String sql = "select * from student";
List<Grade> list=null;
try {
ResultSet rs=this.getResultSet(sql, null);
list=new ArrayList<Grade>();
while (rs.next()) {
Grade grade=new Grade();
int id=rs.getInt("gid");
String name=rs.getString("gname");
grade.setGid(id);
grade.setGname(name);
list.add(grade);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
utils包
package com.bdqn.utils;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class Constants {
private static Constants constants;
private static Properties properties;
private Constants(){
InputStream is=null;
try {
properties=new Properties();
is=Constants.class.getClassLoader().getResourceAsStream("database.properties");
properties.load(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static synchronized Constants getInstance(){
if (constants==null) {
synchronized(Constants.class){
if (constants==null) {
constants=new Constants();
}
}
}
return constants;
}
public String getValue(String key){
return properties.getProperty(key);
}
}
测试类
package com.bdqn.test;
import java.util.List;
import com.bdqn.dao.GradeDao;
import com.bdqn.dao.StudentDao;
import com.bdqn.dao.impl.GradeImpl;
import com.bdqn.dao.impl.StudentImpl;
import com.bdqn.entity.Grade;
import com.bdqn.entity.Student;
public class Test {
public static void main(String[] args) {
StudentDao sdao=new StudentImpl();
GradeDao gdao=new GradeImpl();
/**
* 学生的全查
*/
List<Student> list1=sdao.selectAllStudents();
for(Student stu : list1){
System.out.println(stu.toString());
}
/**
* 模糊查询
*/
/*List<Student> list2=sdao.selectStudents("a");
for(Student stu : list2){
System.out.println(stu.toString());
}*/
/*List<Grade> list3=gdao.selectAllGrade();
for(Grade grade : list3){
System.out.println(grade.toString());
}*/
}
}
目录
用 [TOC]
来生成目录: