Weed3 一个微型ORM框架(只有0.1Mb哦)
源码:https://github.com/noear/weed3
源码:https://gitee.com/noear/weed3
使用约定***
- 1.约定
resources/weed3/
为 xml sql 根目录 - 2.项目开启编译参数:
-parameters
一、准备开始做个简单的例子
这次需要引用一个meven插件(玩过mybatis都懂的)
框架引用
<dependency>
<groupId>org.noear</groupId>
<artifactId>weed3</artifactId>
<version>3.2.3.6</version>
</dependency>
meven插件引用(用于生成mapper类)
<!-- 放到 build / plugins / 下面 -->
<plugin>
<groupId>org.noear</groupId>
<artifactId>weed3-maven-plugin</artifactId>
<version>3.2.2.2</version>
</plugin>
二、现在,先写个简单的xml文件
- resources/weed3/DbUserApi.xml
<?xml version="1.0" encoding="utf-8" ?>
<mapper namespace="weed3demo.xmlsql" :db="testdb">
<sql id="user_get"
:return="weed3demo.mapper.UserModel"
:note="获取用户信息">
SELECT * FROM `user` WHERE id=@{user_id}
</sql>
</mapper>
三、可以有两种方式调用xml sql
- 通过 db.call("@...") 调用
DbContext db = new DbContext(...);
UserModel um = db.call("@weed3demo.xmlsql.user_get")
.set("user_id")
.getItem(UserModel.class);
- 生成Mapper接口,通过动态代理使用
1.用meven插件把它生成(双击:weed3:generator)
2.生成的Java文件(java/weed3demo/xmlsql/DbUserApi.java)
package weed3demo.xmlsql;
@Namespace("weed3demo.xmlsql")
public interface DbUserApi{
/** 获取用户信息*/
weed3demo.mapper.UserModel user_get(int user_id);
}
3.试一下
//全局
public static void main(String[] args){
//配置一个上下文,并加上名字(给xml mapper 用)
DbContext db = new DbContext(...).nameSet("testdb");
//通过代理获取xml mapper
DbUserApi dbUserApi = XmlSqlMapper.get(DbUserApi.class);
//使用它
UserModel tmp = dbUserApi.user_get(10);
}