JAvaデータベースの添削・改ざんのカプセル化(カプセル化後は一言でデータベースの添削・改ざんを完了)

3294 ワード

1.DBUtilクラス
package com.cdsxt.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.Properties;

import com.mysql.jdbc.PreparedStatement;

public class DBUtil {
	private static String mysqlDriver;
	private static String url;
	private static String user;
	private static String password;
	static{
		try {
			InputStream is=DBUtil.class.getResourceAsStream("/db.properties");
			Properties ps=new Properties();
			ps.load(is);
			mysqlDriver=ps.getProperty("mysqlDriver");
			url=ps.getProperty("url");
			user=ps.getProperty("user");
			password=ps.getProperty("password");
			Class.forName(mysqlDriver);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	//       
	public static Connection getConn(){
		Connection conn=null;
		try {
			conn= DriverManager.getConnection(url, user, password);
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("         ");
		}
		return conn;
	}
	
	//    
	public static void close(Object...objs){
		if(objs!=null&&objs.length>0){
			for(int i=0;i

2.パッケージコード;
package com.cdsxt.base;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;

import com.cdsxt.po.Person;
import com.cdsxt.util.DBUtil;

//     
public class BaseDao3 {
	Class clazz;
	public BaseDao3(){
		Type type=this.getClass().getGenericSuperclass();
		Type[] types=((ParameterizedType)type).getActualTypeArguments();
		clazz=(Class)types[0];
	}
	
	
	//      
	public List queryList(T t){
		Connection conn=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		String sql=getQuerySql(t);
		List list=new ArrayList();
		try {
			conn=DBUtil.getConn();
			ps=conn.prepareStatement(sql);
			Field[] fields=clazz.getDeclaredFields();
			int c=1;
			for(int i=0;i

以上のコードパッケージを使って、後で削除して調べるのは一言で済むので、あなたは彼の強さを体得しましたか?