jeesite笔记
环境
Github上的不能初始化数据库:https://github.com/thinkgem/jeesite
官网上的可以: http://jeesite.com/
用 Idea 打开,修改 \src\main\resources\jeesite.properties 中的数据库连接字符串,重新导入Marven包。运行\db\init-db.bat。
配置Tomcat8,就可以运行了。
规范
modules 下里分了几个系统组,每个系统组里,又分了 entity,dao,service,web,调用关系:
web->service->dao->entity
Dao 是 Xml 对 Java 的映射,所以Dao不需要实现,它是接口。
生成配置
1. 创建数据表。
2. 生成单表实体: public class {DbTable} extends DataEntity<{DbTable}>
3. 生成表Dao:
@MyBatisDao
public interface {DbTable}Dao extends CrudDao<{DbTable}> {
public {DbTable} {XmlFunction}(String Id);
}
4. 生成表Service:Server可以根据情况,按MDA模型中的M进行生成。一个表可以生成多个Service,多个表可以使用一个Service。
@Service
@Transactional(readOnly = true)
public class {DbTable}Service extends CrudService<{DbTable}Dao,{DbTable}> {
@Autowired
public {DbTable1}Dao {DbTable1}Dao; @Autowired
public {DbTable2}Dao {DbTable2}Dao; public {自定义返回实体} {业务方法} (String Id){
{DbTable1}Dao.方法();
{DbTable2}Dao.方法(); return {自定义返回实体};
}
}
如果继承 CrudService,它是为代码生成器准备的,需要在Dao和Xml中定义以下方法:
public interface CrudDao<T> extends BaseDao {
public T get(String id);
public T get(T entity);
public List<T> findList(T entity);
public List<T> findAllList(T entity);
@Deprecated
public List<T> findAllList();
public int insert(T entity);
public int update(T entity);
@Deprecated
public int delete(String id);
public int delete(T entity);
}
5. 定义Xml,位置:resources\mappings\modules\组
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="{NameSpace}.{DbTable}Dao">
<!-- 根据编号获得用户 -->
<select id="{XmlFunction}" resultType="{DbTable}">
SELECT *
FROM {DbTable}
WHERE id = #{id}
</select>
</mapper>
resultType="HashMap" 或者: resultType="Map" 可以使 XmlFunction 返回字典。
代码生成器
jeesite使用了自己的规范,运行起jeesite网站后, 在代码生成里,进行代码生成,步骤如下:
1. 添加数据库表
2. 在jeesite里:代码生成-》业务表配置-》业务表添加,进行添加。
3. 在jeesite里: 代码生成-》生成方案配置-》单表-》保存并生成代码。 如果是主子表,可以选主子表。如果是树,可以选树。
主子表,仅选择主表就可以。也可以先生成全部表后,再对主表进行覆盖生成。
4. 完成后,代码生成到项目中了。
改造
1. 去除权限机制 @RequiresPermissions
2. 去除 @RequestMapping 中的 ${adminPath} 定义。
功能
1. JsonMapper:
String toJson(Object object)
<T> T fromJson(String jsonString, Class<T> clazz)
2. StringUtils ,各种类型的转换
3. CacheUtils , 缓存工具类
4. Digests ,支持SHA-1/MD5消息摘要的工具类.
5.
jeesite笔记的更多相关文章
- JeeSite学习笔记~代码生成原理
1.建立数据模型[单表,一对多表,树状结构表] 用ERMaster建立数据模型,并设定对应表,建立关联关系 2.系统获取对应表原理 1.怎样获取数据库的表 genTableForm.jsp: < ...
- JeeSite开发笔记
开发流程笔记: http://m.blog.csdn.net/article/details?id=51251619
- jeesite学习笔记(一) 项目框架
JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. 在github上,对jeesite平台有详细的介绍,这里稍作整理,给出项目的内置功能 ...
- Jeesite的cahche工具类
本CacheUtils主要是基于shiro的cache进行处理. 其他选择: 类似的我们可以选择java cache ,spring cahche等方案. 再进一步 ...
- JeeSite中Excel导入导出
在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...
- JeeSite数据分页与翻页
本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您 ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
随机推荐
- Django web 基础
一.Django概述 Django大而全; 创建Django工程:django-admin startproject sitename 创建django之后生成的目录结构如下: Project Pro ...
- SQL:将字符串以特定字符分割并返回Table
split 语法 ALTER FUNCTION [dbo].[F_SPLIT] ( @str VARCHAR(MAX) , ) ) /********************************* ...
- WinExec
WinAPI: WinExec - 运行外部程序 //声明 WinExec( lpCmdLine: LPCSTR; {文件名和参数; 如没指定路径会按以下顺序查找: 程序目录/当前目录/Syste ...
- javascript中document.appendChild和document.body.appendChild的问题
在IE7中 var conentDiv = document.createElement("div"); document .body .appendChild(conentDiv ...
- 【C#】 一些不常用,很容易混淆的知识点
[C#] 一些不常用但很容易混淆的知识点 1. 访问修饰符 internal ,译为内部的, 在同一个程序集中可访问,它的内部是相对与程序集的,可不能想当然了 2. String.Compare 这个 ...
- widows下jieba分词的安装
在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba
- 第四十二章 微服务CICD(4)- jenkins + gitlab + webhooks + publish-over-ssh(2)
上一节完成了"当git客户端push代码到gitlab后,jenkins会立即去gitlab拉取代码并构建". 目的:本节完成jenkins自动构建之后,自动的将jar包部署到应用 ...
- Sorted Union
function unite(arr1, arr2, arr3) { //return arr1; var args = Array.from(arguments); var arr = args.r ...
- java基础(1)-比较jdk5,jdk6,jdk7的新特性
jdk8已经出来好长时间了,这里自己学习时简单总结的jdk5,jdk6和jdk7的新特性:本文提纲: 一.jdk5的新特性 二.jdk6的新特性 三.jdk7的新特性 一.jdk5的新特性 首先简单介 ...
- C# WebClient 实现上传下载网络资源
下载数据 WebClient wc = new WebClient();1 string str= wc.DownloadString("地址")://直接下载字符串 2 wc.D ...