自己封装的一种新增,更新和删除的方法

J2EE 码拜 9年前 (2015-07-18) 984次浏览

第一步:创建表
以MySQL为例,创建如下的表:
表名:destiny_tbl001
字段1:person_id, char 20
字段2:name, char 20
字段3:age,int

第二步:生成对应结构

public class Destiny_str001 {

	public String person_id;
	public String name;
	public int age;

}

第三步:主程序,根据结构插入一条记录

public class Destiny_func001 {

	public static void main(String[] args) throws Exception {

		Destiny_str001 go_person01 = new Destiny_str001();
		go_person01.person_id = "0001";
		go_person01.name = "Shin";
		go_person01.age = 20;

		Destiny_func002.destiny_func002(go_person01); //insert方法,以对象作为参数

	}

}

第四步:insert方法的具体内容:
//insert method

public class Destiny_func002 { 

	public static void destiny_func002(Destiny_str001 person){

		Connection lo_conn = null;
		PreparedStatement lo_pstmt01;
		String lv_str01;

		//get conn instance here

		try
		{
		lv_str01 = "insert into Destiny_tbl001 (person_id,name,age) values(?,?,?)";       
	    	lo_pstmt01.setString(1, person.person_id);
	    	lo_pstmt01.setString(2, person.name);
	    	lo_pstmt01.setInt(3, person.age);
                lo_pstmt01 = lo_conn.prepareStatement(lv_str01);	 
		}
	    catch (SQLException e)
	    {
	        e.printStackTrace();
	    }
	}

}

#1

一些说明:
1,第二步里的属性都是public,因为我只是把它当成结构用,当然也可以用set和get来设置属性,但是我觉得没有必要。

2,例子里是根据结构新增,更新或删除一条记录,如果要操作多条记录,可以定义一个ArrayList集合,元素是该类的对象,然后根据这个ArrayList去做新增,更新或删除。

3,第二步和第四步的代码是可以自动生成的,尤其是第四步,应该可以写成泛型参数,针对所有的Object。实际上我想做的是,针对每张数据库表,执行某个程序,自动生成一个对应结构的类和含有新增,更新,删除操作的方法的类。

4,这里想讨论下数据库缓存的问题,就我自己做过项目来说(我是做企业流程的,需要处理的数据量往往很大),对于大量且需要频繁更新的数据来说,一般只用数据库本身的缓存机制,而不使用其他缓存的(比如JAVA框架提供的缓存)。在runtime层面的缓存,基本只用于数据量小而且不会经常更新的数据库表。

#2

求人讨论指点下
30分

#3

你那个domain对象不是动态生成。这个是最大硬伤。

#4

回复3楼:

对象是可以动态生成的,因为就是根据数据库表结构生成一个结构一样的类,就是需要写个程序动态生成java代码文件。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明自己封装的一种新增,更新和删除的方法
喜欢 (0)
[1034331897@qq.com]
分享 (0)