BeetlSql中的命名转换和联合主键
2019-09-18 19:33
2371 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/gdkyxy2013/article/details/100993715
本文参考BeetlSql官方网站,官网网站请点击这里~
一、命名转换
Beetlsql默认提供了三种列名和属性名的映射类:1、DefaultNameConversion ,数据库名和java属性名保持一致,例如数据库表User,对应Java类也是User,数据库列是name,则java属性也是name,反之亦然。2、UnderlinedNameConversion,将数据库下划线去掉,首字母大写,如数据库是SYS_USER,则会改成SysUser。3、JPA2NameConversion ,支持JPA方式的映射,适合不能确定的映射关系。当然,如果以上三个都不合适,还可以自定义命名转化。一般来讲,建议使用UnderlinedNameConversion。
在使用org.beetl.sql.core.JPA2NameConversion作为命令转化规则时,可以使用以下JPA标签来帮助解析实体类到数据库的转换:1、javax.persistence.Table;2、javax.persistence.Column;3、javax.persistence.Transient
规则如下:1、在类名前使用Table注解映射的表名,例如:@Table(name = "XZW"),表示映射的表名是XZW;2、忽略静态变量以及被@Transient注解的属性;3、默认属性名与库表的字段名保持一致,如果不一致时,可以使用@Column注解。例如:
[code]@Table(name = "XZW") public class TestEntity implements Serializable { public static String S = "SSS"; private String id; @Column(name = "login_name") private String loginName; private String password; private Integer age; private Long ttSize; private byte[] bigger; private String biggerClob; @Transient private String biggerStr; @AssignID public String getId() { return id; } getter setter... }
二、联合主键
BeetlSql支持复合主键,无需像其他dao工具那样创建一个特别的主键对象,主键对象就是实体对象本身。例如:
[code]CREATE TABLE `party` ( `id1` int(11) NOT NULL, `id2` int(11) NOT NULL, `name` varchar(45) DEFAULT NULL, PRIMARY KEY (`id1`,`id2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
[code]public class Party { @AssignID private Integer id1 ; @AssignID private Integer id2 ; private String name ; //忽略其他 getter setter方法 }
根据主键获取Party:
[code]Party key = new Party(); key.setId1(1); key.setId2(2); Party party = sql.unique(Party.class, key);
相关文章推荐
- MyBatis联合主键结果集与SQL查询结果不一致的问题
- SQL定义联合主键
- SQL联合查询及SQL语句中日期格式的转换
- Sql 联合主键
- SQL—联合主键
- SQL联合主键 查重
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- SQL 联合主键 可以设置外键
- SSH下联合主键类写法及oracle数据库中创建联合主键表的sql语句
- SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)
- sql 中设置联合主键怎么设
- sql------创建主键、外键、联合主键
- sql的注释和联合主键
- SQL 2005 修改表联合主键
- SQL中的主键以及联合主键
- 联合主键/复合主键的数据库表,在另一个数据库表是否存在的SQL查询语名
- sql,联合主键,按id分组求版本号最大值的集合
- sql 创建联合主键
- 联合主键,SQL语句怎么写?