目录
一、dao层和biz层以及数据库辅助类以及实体类1、数据库辅助类:
一、dao层和biz层以及数据库辅助类以及实体类
1、数据库辅助类:
package com.dgl.util;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/**
* 提供了一组获得或关闭数据库对象的方法
*
*/
public class DBHelper {
private static String driver;
private static String url;
private static String user;
private static String password;
static {// 静态块执行一次,加载 驱动一次
try {
InputStream is = DBHelper.class
.getResourceAsStream("config.properties");
Properties properties = new Properties();
properties.load(is);
driver = properties.getProperty("driver");
url = properties.getProperty("url");
user = properties.getProperty("user");
password = properties.getProperty("pwd");
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
/**
* 获得数据连接对象
*
* @return
*/
public static Connection getConnection() {
try {
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void close(ResultSet rs) {
if (null != rs) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void close(Statement stmt) {
if (null != stmt) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void close(Connection conn) {
if (null != conn) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
public static void myClose(Connection con,PreparedStatement ps,ResultSet rs) {
try {
if(rs!=null) {
rs.close();
}
if(ps!=null) {
ps.close();
}
if(con!=null&&!con.isClosed()) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void close(Connection conn, Statement stmt, ResultSet rs) {
close(rs);
close(stmt);
close(conn);
}
public static boolean isOracle() {
return "oracle.jdbc.driver.OracleDriver".equals(driver);
}
public static boolean isSQLServer() {
return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
}
public static boolean isMysql() {
return "com.mysql.jdbc.Driver".equals(driver);
}
public static void main(String[] args) {
Connection conn = DBHelper.getConnection();
DBHelper.close(conn);
System.out.println("isOracle:" + isOracle());
System.out.println("isSQLServer:" + isSQLServer());
System.out.println("isMysql:" + isMysql());
System.out.println("数据库连接(关闭)成功");
}
}
连接数据库:
#oracle9i
#driver=oracle.jdbc.driver.OracleDriver
#url=jdbc:oracle:thin:@localhost:1521:orcl
#user=scott
#pwd=123
#sql2005
#driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#url=jdbc:sqlserver://localhost:1433;DatabaseName=test1
#user=sa
#pwd=123
#sql2000
#driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#url=jdbc:microsoft:sqlserver://localhost:1433;databaseName=unit6DB
#user=sa
#pwd=888888
#mysql
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db_0614?useUnicode=true&characterEncoding=UTF-8&useSSL=false
user=root
pwd=123456
2、实体类:
①学生类:
package com.dgl.entity;
import java.io.Serializable;
import java.util.List;
public class Student implements Serializable{
private static final long serialVersionUID = 7154831938131519366L;
private int sid;
private String sname;
private Teacher t;
private Class c;
// private Hobby h;
private String ss;//用来增加 xiugai
private List<Hobby> ls;//用来绑值
//定义一个
public int getSid() {
return sid;
}
public String getSs() {
return ss;
}
public void setSs(String ss) {
this.ss = ss;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Teacher getT() {
return t;
}
public void setT(Teacher t) {
this.t = t;
}
public Class getC() {
return c;
}
public void setC(Class c) {
this.c = c;
}
public List<Hobby> getLs() {
return ls;
}
public void setLs(List<Hobby> ls) {
this.ls = ls;
}
public Student() {
// TODO Auto-generated constructor stub
}
public Student(int sid, String sname, Teacher t, Class c, List<Hobby> ls) {
super();
this.sid = sid;
this.sname = sname;
this.t = t;
this.c = c;
this.ls = ls;
}
public Student(String sname, Teacher t, Class c, String ss) {
this.sname = sname;
this.t = t;
this.c = c;
this.ss = ss;
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", t=" + t + ", c=" + c + ", ls=" + ls + "]";
}
}
②教员类:
package com.dgl.entity;
import java.io.Serializable;
/**
* 教师类
* @author Administrator
*
*/
public class Teacher implements Serializable{
/**
*
*/
private static final long serialVersionUID = 4984197172186331612L;
private int tid;
private String tname;
private Class c;
public int getTid() {
return tid;
}
public void setTid(int tid) {
this.tid = tid;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public Class getC() {
return c;
}
public void setC(Class c) {
this.c = c;
}
public Teacher() {
// TODO Auto-generated constructor stub
}
public Teacher(int tid, String tname, Class c) {
this.tid = tid;
this.tname = tname;
this.c = c;
}
@Override
public String toString() {
return "Teacher [tid=" + tid + ", tname=" + tname + ", c=" + c + "]";
}
}
③班级类:
package com.dgl.entity;
import java.io.Serializable;
/**
* 班级类
* @author Administrator
*
*/
public class Class implements Serializable{
/**
*
*/
private static final long serialVersionUID = -5145856861606131091L;
private int cid;
private String cname;
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public Class() {
// TODO Auto-generated constructor stub
}
public Class(int cid, String cname) {
super();
this.cid = cid;
this.cname = cname;
}
@Override
public String toString() {
return "Class [cid=" + cid + ", cname=" + cname + "]";
}
}
④爱好类:
package com.dgl.entity;
import java.io.Serializable;
/**
* 爱好类
*
*/
public class Hobby implements Serializable{
/**
*
*/
private static final long serialVersionUID = -9120395110708701114L;
private String hid;
private String hname;
public String getHid() {
return hid;
}
public void setHid(String hid) {
this.hid = hid;
}
public String getHname() {
return hname;
}
public void setHname(String hname) {
this.hname = hname;
}
public Hobby() {
// TODO Auto-generated constructor stub
}
public Hobby(String hid, String hname) {
super();
this.hid = hid;
this.hname = hname;
}
@Override
public String toString() {
return "Hobby [hid=" + hid + ", hname=" + hname + "]";
}
}
3.dao层
①学生类:
package com.dgl.dao;
import java.sql.Array;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.dgl.entity.Class;
import com.dgl.entity.Hobby;
import com.dgl.entity.Student;
import com.dgl.entity.Teacher;
import com.dgl.util.DBHelper;
public class StudentDao implements IStudentDao{
//三兄弟
private Connection con=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
//调用爱好dao层
IHobbyDao ihd=new HobbyDao();
@Override
public List<Student> getAll() {
List<Student> ls=new ArrayList<Student>();
try {
con=DBHelper.getConnection();
String sql="select * from tb_student";
ps=con.prep