在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:weed3开源软件地址:https://gitee.com/noear/weed3开源软件介绍:Weed for java微型ORM框架(支持:java sql,xml sql,annotation sql,template sql;事务;缓存;监控;等...) Weed3 特点和理念:
核心对象和功能:
//BaseMapper 接口db.mapperBase(User.class).selectById(1);//BaseMapper 接口,条件查询db.mapperBase(User.class).selectList(mq->mq.whereLt(User::getGroup,1).andEq(User::getLabel,"T"));//Table 接口db.table("user u") .innerJoin("user_ext e").onEq("u.id","e.user_id") .whereEq("u.type",11) .limit(100,20) .selectList("u.*,e.sex,e.label", User.class);//Table 接口,拼装条件查询(特别适合管理后台)db.table(logger) .where("1 = 1") .andIf(TextUtils.isNotEmpty(trace_id), "trace_id = ?", trace_id) .andIf(TextUtils.isNotEmpty(tag), "tag = ?", tag) .andIf(TextUtils.isNotEmpty(tag1), "tag1 = ?", tag1) .andIf(TextUtils.isNotEmpty(tag2), "tag2 = ?", tag2) .andIf(TextUtils.isNotEmpty(tag3), "tag3 = ?", tag3) .andIf(log_date > 0, "log_date = ?", log_date) .andIf(log_id > 0, "log_id <= ?", log_id) .andIf(level > 0, "level=?", level) .orderBy("log_fulltime desc") .limit(size) .selectList("*", LogModel.class); 相关文章:
组件列表:
Meven配置:<!-- 框架包 --><dependency> <groupId>org.noear</groupId> <artifactId>weed3</artifactId> <version>3.4.19</version></dependency><!-- 可选:maven 插件,用于生成Xml sql mapper接口 --><plugin> <groupId>org.noear</groupId> <artifactId>weed3-maven-plugin</artifactId> <version>3.4.19</version></plugin> 入门示例:/** 1.实例化上下文 *///DbContext db = new DbContext(properties); //使用Properties配置的示例//DbContext db = new DbContext(map); //使用Map配置的示例//DbContext db = new DbContext("user","proxool.xxx_db"); //使用proxool线程池配置的示例//DbContext db = new DbContext("user",new HikariDataSource(...)); //使用DataSource配置的示例DbContext db = new DbContext("user","jdbc:mysql://x.x.x:3306/user","root","1234");/** 2.1.Mapper用法 */@Namespace("demo.dso.db")public interface UserDao extends BaseMapper<UserModel>{ @Sql("select * from user where id=@{id} limit 1") UserModel getUser(int id); @Sql("select * from user where id=? limit 1") UserModel getUser2(int id); void addUser(UserModel user); //没注解,需要配xml}UserDao userDao = db.mapper(UserDao.class);//调用 BaseMapper 方法userDao.selectById(12); //调用 @Sql 方法UserModel user = userDao.getUser(2); //调用 Xml sqluserDao.addUser(user); //调用Template sqlStatModel stat = userDao.userStat(20201010);/** 2.2.Table用法 *///增::db.table("user").setEntity(user).insert();db.table("user").setMap(map).insert();//删::db.table("user").whereEq("id",2).delete();//改::db.table("user").set("sex",1).whereEq("id",2).update();//查::db.table("user u") .innerJoin("user_ext e").onEq("u.id","e.user_id") .whereEq("u.id",1001) .selectItem("u.*,e.sex,e.label", User.class);/** 2.3.Call用法 *///调用存储过程db.call("user_get_list_by").set("_type",12).getList(User.class);//调用xml sqldb.call("@demo.dso.db.user_get").set("id",1001).getItem(User.class);/** 2.4.Sql用法 *///快速执行SQL语句db.sql("select * from user id=?",12).getItem(User.class); 附:语法参考:(一)Xml sql 语法
<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE mapper PUBLIC "-//noear.org//DTD Mapper 3.0//EN" "http://noear.org/dtd/weed3-mapper.dtd"><mapper namespace="weed3demo.xmlsql2" import="demo.model.*" baseMapper="UserModel"> <sql id="getUser" return="UserModel" remarks="获取用户信息"> SELECT * FROM user WHERE id = @{id:int} </sql></mapper>
(二)Table 语法
|
请发表评论