数据库加载连接类
import org.apache.log4j.Logger;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection extends Properties {
private Logger logger =
Logger.getLogger(this.getClass());
private final String FILE_NAME =
"/dao.properties";
private static DBConnection conn = null;
public void DaoClass(){
Class cls =
this.getClass();
InputStream in =
cls.getResourceAsStream(FILE_NAME);
try {
this.load(in);
} catch (IOException e) {
e.printStackTrace();
}
}
private DBConnection() throws
ClassNotFoundException {
DaoClass();
String className =
this.getProperty("Driver");
Class.forName(className);
logger.info("连接不上来");
}
public static Connection getConnection() {
if (conn == null) {
try {
conn
= new DBConnection();
} catch
(ClassNotFoundException e) {
e.printStackTrace();
}
}
return conn.inersect();
}
private Connection inersect() {
Connection con = null;
DaoClass();
String className =
this.getProperty("connt");
System.out.println(className);
try {
con =
DriverManager
.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa",
"");
} catch (SQLException e)
{
e.printStackTrace();
}
return con;
}
}
--------------------------------------------------------
实体类
public class Student {
private String id ; //varchar(20) not null,
private String name; // varchar (20) not
null,
private String sex; // varchar(2) not null,
private String age; // varchar (4) not null
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
------------------------------------
操作接口类
import cn.com.java.entity.Student;
public interface DaoStudent {
public int inserstDao(Student stu);
public void selectDao(Student stu);
}
-----------------------
接口实现类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import cn.com.java.dao.DaoStudent;
import cn.com.java.db.DBConnection;
import cn.com.java.entity.Student;
public class DaoStudentImpl implements DaoStudent {
public int inserstDao(Student stu) {
DBConnection dbcon =
null;
int x = 0;
String sql = "insert into
Student values(?,?,?,?);";
Connection conn =
dbcon.getConnection();
try {
PreparedStatement
psta = conn.prepareStatement(sql);
psta.setString(1,stu.getId());
psta.setString(2,
stu.getName());
psta.setString(3,stu.getSex());
psta.setString(4,stu.getAge());
x =
psta.executeUpdate();
} catch (SQLException e)
{
e.printStackTrace();
}
return x;
}
public void selectDao(Student stu) {
DBConnection dbcon =
null;
Connection conn =
dbcon.getConnection();
String sql = "select * from
Student where id = '"+stu.getId()+"'";
try {
Statement sta
= conn.createStatement();
ResultSet re
= sta.executeQuery(sql);
if(re.next()){
System.out.print(re.getString(1)+"\t");
System.out.print(re.getString(2)+"\t");
System.out.print(re.getString(3)+"\t");
System.out.println(re.getString(4)+"\t");
}
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
-------------------
工厂类
import cn.com.java.dao.DaoStudent;
import cn.com.java.daoimpl.DaoStudentImpl;
public class DaoFactory {
public DaoStudent createStudentDAO(){
return new
DaoStudentImpl();
}
}
----------------------
测试类
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import cn.com.java.dao.DaoStudent;
import cn.com.java.dao.factory.DaoFactory;
import cn.com.java.entity.Student;
public class Daotest {
DaoStudent daoimpl;
@Before
public void setUp() throws Exception {
daoimpl = new
DaoFactory().createStudentDAO();
}
@After
public void tearDown() throws Exception {
daoimpl = null;
}
@Test
public void DaoFactoryTest(){
System.out.println("sssssssssssssssss");
Student stu = new
Student();
stu.setId("6543");
stu.setName("name");
stu.setSex("s");
stu.setAge("12");
int x =
daoimpl.inserstDao(stu);
Assert.assertTrue(x>0);
}
public static void main(String[] args)throws
Exception{
Daotest test = new
Daotest();
test.setUp();
test.DaoFactoryTest();
test.tearDown();
}