??xml version="1.0" encoding="utf-8" standalone="yes"?>
----Q在你的pojo中定义了数据库的key wordQ例如:group{等.
2)net.sf.hibernate.QueryException: could not resolve property type: username [select user.password from cn.org.sppc.ipmanager.User user where user.username=?]
----Qusername在FormcM、在Hibernate的xml文g中和相对应的PO对象中名U都要保持一_包括大小写)。包括struts-config.xml中的?/p>
2Qjava.sql.ResultSetMetaData接口
做了个小例子Q读取了下数据库的信?br>
TableQ?nbsp; user role
columnsQ?nbsp; id id
name name
role_id----------|
user.role_id reference role.id
resourceQ?br>AQ?a >http://www.7kao.com/java/42234613.htm
BQ?a >http://www.itisedu.com/phrase/200604251741535.html
CQ?a >http://www.ibm.com/developerworks/cn/java/javabean/index.html
DQ?a >http://dev.wl668.com/java/J2SE/20057115401_4099856.shtml
N内容介绍Q…?span style="FONT-FAMILY: 宋体">利用数据库的tableQ生成格式可以配|的javabeanQ减系l开发的工作?.....
涉及到的技术可能有:Ҏ据库的访问技术,?/span>metadata的理解,?/span>javabean的理解以?/span>javabean的作用。用 java实现?/span>
先考虑下需?q个东西从整体上来说q是不难?初步x是做成图形界?通过用户填写必要的数据库q接信息(url,username,password)来读取整个数据库,q且具体生成哪些表是可配|的.(目前军_首先做针对mysql的版?以后再视情况扩展支持其它数据?
那么下面来初步定下功能模?
1)d配置Q想法是可以学学人家hibernate,做成配置文g的Ş式(properties或xmlQ?或者照需求里的通过用户输入q接参数来连接数据库,如果每次都要打的话会很不爽,所以决定都做进厅R?/span>
2Q读取数据库信息Q理Zjdbc应该有这L接口可以实现Q?_-'' 刚刚找了20分钟Q还没有扑ֈ,胔RQ,q个部分是整个系l的大头
3Q生成javaBeanQ通过模块中读取到的信息,Ҏ需要通过java提供的文件操作来生成javaBeanQ其实也是些setter/getterQ?/span>
Q实现比较关键的部分Q如果从数据库读取每个数据库的相关信息,以及表中每个属性所对应的类型,然后q行转化下,不难Q但是可能比较烦炏V?/span>
今天先搭个框Q把W一部分搞定 Q?:)W一部分的架子算是完了,明天l箋Q哦不对Q明天高中同学聚会,可能要通宵了,看来要后天了Q?
下一ơ把W一部分好好整理下,感觉jdbc自己太差了?
标识W生成器 | 描述 |
increment | 适用于代理主键?br />由Hibernate自动以递增方式生成?/td> |
identity | 适用于代理主键?br />由底层数据库生成标识W?/td> |
sequence | 适用于代理主键?br />HibernateҎ底层数据库的序列生成标识W, q要求底层数据库支持序列?/td> |
hilo | 适用于代理主键?br />Hibernate分局high/low法生成标识W?/p> |
seqhilo | 适用于代理主键?br />使用一个高/低位法来高效的生成longQ?br />short或者intcd的标识符?/td> |
native | 适用于代理主键?br />Ҏ底层数据库对自动生成标识W的方式Q?br />自动选择identity、sequence或hilo?/td> |
uuid.hex | 适用于代理主键?br />Hibernate采用128位的UUID法生成标识W?/td> |
uuid.string | 适用于代理主键?br />UUID被编码成一?6字符长的字符丌Ӏ?/td> |
assigned | 适用于自然主键。由Java应用E序负责生成标识W?/td> |
foreign | 适用于代理主键。用另外一个相兌的对象的标识W?/td> |
Hibernate映射cd
在对?关系映射文g中,Hibernate采用映射cd作ؓJavacd和SQLcd的桥梁。Hibernate映射cd分ؓ2U:内置映射cd和自定义映射cd?br />
1、内|映类?br />
HibernateҎ有的Java原生cd、常用的Javacd如String、Date{都定义了内|的映射cd。表2列出了Hibernate映射cd、对应的Javacd以及对应的标准SQLcd?br />
? Hibernate内置映射cd
Hibernate映射cd | Javacd | 标准SQLcd | 大小 |
integer/int | java.lang.Integer/int | INTEGER | 4字节 |
long | java.lang.Long/long | BIGINT | 8字节 |
short | java.lang.Short/short | SMALLINT | 2字节 |
byte | java.lang.Byte/byte | TINYINT | 1字节 |
float | java.lang.Float/float | FLOAT | 4字节 |
double | java.lang.Double/double | DOUBLE | 8字节 |
big_decimal | java.math.BigDecimal | NUMERIC | ? |
character | java.lang.Character/ java.lang.String/char | CHAR(1) | 定长字符 |
string | java.lang.String | VARCHAR | 变长字符 |
boolean/ yes_no/true_false | java.lang.Boolean/Boolean | BIT | 布尔cd |
date | java.util.Date/ java.sql.Date | DATE | 日期 |
timestamp | java.util.Date/ java.util.Timestamp | TIMESTAMP | 日期 |
calendar | java.util.Calendar | TIMESTAMP | 日期 |
calendar_date | java.util.Calendar | DATE | 日期 |
binary | byte[] | BLOB | BLOB |
text | java.lang.String | TEXT | CLOB |
serializable | 实现java.io. Serializablej接口 的Q意Javac?/td> | BLOB | BLOB |
clob | java.sql.Clob | CLOB | CLOB |
blob | java.sql.Blob | BLOB | BLOB |
class | java.lang.Class | VARCHAR | 定长字符 |
locale | java.util.Locale | VARCHAR | 定长字符 |
timezone | java.util.TimeZone | VARCHAR | 定长字符 |
currency | java.util.Currency | VARCHAR | 定长字符 |