第一步:创建表 第二步:生成对应结构 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方法的具体内容: 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代码文件。 |