环境

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笔记的更多相关文章

  1. JeeSite学习笔记~代码生成原理

    1.建立数据模型[单表,一对多表,树状结构表] 用ERMaster建立数据模型,并设定对应表,建立关联关系 2.系统获取对应表原理 1.怎样获取数据库的表 genTableForm.jsp: < ...

  2. JeeSite开发笔记

    开发流程笔记: http://m.blog.csdn.net/article/details?id=51251619

  3. jeesite学习笔记(一) 项目框架

    JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. 在github上,对jeesite平台有详细的介绍,这里稍作整理,给出项目的内置功能 ...

  4. Jeesite的cahche工具类

    本CacheUtils主要是基于shiro的cache进行处理. 其他选择: 类似的我们可以选择java cache ,spring cahche等方案.                   再进一步 ...

  5. JeeSite中Excel导入导出

    在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...

  6. JeeSite数据分页与翻页

    本文章介绍的是JeeSite开源项目二次开发时的一些笔记,对于没有使用过JeeSite的可以不用往下看了,因为下面的代码是跟JeeSite二次开发相关的代码,不做JeeSite的二次开发,以下代码对您 ...

  7. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  8. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  9. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

随机推荐

  1. Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS(一)

    不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs5; import java.io.IOException; import ja ...

  2. mgo中DBRef-数据添加测试

    2014-1-25 在设计mongo数据库时遇到这样一个问题,日志信息表需要引用人员信息表的数据.如果是结构化数据库,基本上不用想太多的东西.由于刚接触非结构化数据库,按着书上的理解由于日志数量较多, ...

  3. weed-fs参数列表

    weed-fs没有详细的帮助文档,为了方便阅读,特意把有用的参数帮助罗列出来.未列出的两个命令为version(版本查询) 及shell(这个命令在0.45版本只有回显功能)nerc@Ubuntu:~ ...

  4. nginx环境下配置nagios-关于nagios配置文件nginx.conf

    接上文:nginx环境下配置nagios-关于nginx.conf 配置如下: ;          location ~ .*\.(php|php5)?$          {            ...

  5. python计算机视觉——黑板客老师课程学习

    机器学习的一个应用方向,是如何让机器去理解图像.包括对图像里物体的识别,跟踪和测量. 能做什么——无人驾驶汽车.人脸识别.车牌识别手势识别(游戏方向) PIL静态的库 OpenCV 动态的库 impo ...

  6. The string "--" is not permitted within comments

    ibatis中SAXParseException异常:The string "--" is not permitted within comments 这个异常是说sqlmap里面 ...

  7. Visual Studio VS2010统计代码行数(转载)

    本文转自:http://blog.csdn.net/zhouworld16/article/details/9292851 在网上看到别人用的方法: 按CTRL+SHIFT+F (Find in fi ...

  8. 项目Windows服务安装命令:

    sc create YY.SmsPlatform.RemoteDataCenter binPath= "E:\YY.SmsPlatform\YY.SmsPlatform.RemoteData ...

  9. linux ddos防御攻击

    Linux Ddos防御攻击 [root@lxh ~]# netstat -ntu |awk '{print $5}'|grep '[0-9]'|cut -d: -f1 |sort |uniq -c| ...

  10. mysql提示2002错误的解决方法

    前两天,负责的一个项目出现问题,总是提示"SQLSTATE[HY000] [2002] 由于目标计算机积极拒绝,无法连接",由于负责服务器的同事联系不到,我无法登陆服务器查看原因, ...