簡單啊,建立一個包。cn.temp.object;存放臨時類。使用File類來寫文件,保存為 [ 類.java ]再動態(tài)編譯。
成都創(chuàng)新互聯(lián)來電聯(lián)系:18982081108,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十年,包括混凝土攪拌機(jī)等多個領(lǐng)域擁有多年的網(wǎng)站制作經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航!
先通過數(shù)據(jù)庫元數(shù)據(jù)對象DataBaseMetaData和ResultSetMetaData得到表的元數(shù)據(jù)的信息。生成類,可以用反射的方式和修改字節(jié)碼的方式。修改字節(jié)碼方式可以使用開源的CGLib這個庫,Hibernate就是使用的這個庫。這個生成是在內(nèi)存的。
首先用 Class.forName(完整類名)獲得一個Class對象clazz,然后調(diào)用Class對象clazz的newInstance()方法得到一個對象。
實(shí)體類,只要里面包含屬性跟方法就可以了,例如public class demo{ private int age;private String name;}。
如果不用框架的話,其實(shí)就是自己拼sql語句了。這種情況下,實(shí)體ben就是標(biāo)準(zhǔn)vo。 也就是 私有變量加上get/set方法而已。 真正運(yùn)行sql時要自己把sql一段一段拼起來。用string拼接或者stringbuffer的append。
生成類,可以用反射的方式和修改字節(jié)碼的方式。修改字節(jié)碼方式可以使用開源的CGLib這個庫,Hibernate就是使用的這個庫。這個生成是在內(nèi)存的。估計,將java代碼寫成.java文件,再調(diào)用編譯器編譯形成class也能完成需求。
比如我給你一個實(shí)體:人,那么人有屬性,把這些屬性,通過set/get給封裝起來,這樣就完成了一個實(shí)體類。
使用get和set就可以了。這個不要取巧,要保證代碼的可讀性。另外,有一種場景可以使用構(gòu)造器模式,你可以了解下。
public class Test{ private String a;public Test(){} public static void main(String[] args){} } 這是最常見的。還有很多種。
1、生成類,可以用反射的方式和修改字節(jié)碼的方式。修改字節(jié)碼方式可以使用開源的CGLib這個庫,Hibernate就是使用的這個庫。這個生成是在內(nèi)存的。估計,將java代碼寫成.java文件,再調(diào)用編譯器編譯形成class也能完成需求。
2、實(shí)體類,只要里面包含屬性跟方法就可以了,例如public class demo{ private int age;private String name;}。
3、用Map這種通用數(shù)據(jù)結(jié)構(gòu)唄。直接使用成員變量是不可能了,因?yàn)镴ava語言靜態(tài),不具有動態(tài)性。
4、這種情況下,實(shí)體ben就是標(biāo)準(zhǔn)vo。 也就是 私有變量加上get/set方法而已。 真正運(yùn)行sql時要自己把sql一段一段拼起來。用string拼接或者stringbuffer的append?;旧犀F(xiàn)在沒人用了。主要問題是,容易發(fā)生sql注入。