SeQuaLite數(shù)據(jù)持久層框架
SeQuaLite是一個輕量級,java數(shù)據(jù)存取框架(整個jar包不到80k)。支持CRUD操作。支持對象懶加載,通過創(chuàng)建代理對象或空對象來代替,等有需要時再加載。支持級聯(lián)保存與級聯(lián)刪除操作。SeQuaLite使用 prepared statement來執(zhí)行查詢,因此它更快,更安全。使用SeQuaLite能夠避免SQL注入安全威脅。SeQuaLite能夠創(chuàng)建和執(zhí)行復(fù)雜的查詢/DML,并支持分頁。
SeQuaLite 的結(jié)構(gòu)框圖:
SeQuaLite 全局配置示例:
sample.jdbc.driver=org.gjt.mm.mysql.Driver
sample.jdbc.url=jdbc:mysql://localhost:3306/test
sample.jdbc.user=root
sample.jdbc.password=admin
sample.jdbc.autocommit=true
sample.pool.maxsize=50
sample.pool.increment=5
sample.pool.monitor.interval=5000
Bean 的映射配置實例:
<class name="Customer" table-name="customer">
<field name="id" type="java.lang.Long" column-name="ID"/>
<field name="firstName" type="java.lang.String" column-name="FIRST_NAME"/>
<field name="lastName" type="java.lang.String" column-name="LAST_NAME"/>
<field name="createDate" type="java.util.Date" column-name="CREATE_DATE"/>
<field name="contactNumber" type="java.lang.String" column-name="CONTACT_NUMBER"/>
<primary-key column-name="ID" auto-increment="true">
<sequence-sql>SELECT LAST_INSERT_ID() </sequence-sql>
</primary-key>
<child name="address" type="Address" column-name="ID" child-column-name="CUSTOMER_ID" multiplicity="many" lazy-load="proxy" on-save-cascade="true" on-delete-cascade="true" index="0"/>
<sql name="default" type="find">
SELECT * FROM customer
</sql>
</class>
