博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring+Mybatis+Freemarker框架搭建
阅读量:5888 次
发布时间:2019-06-19

本文共 2562 字,大约阅读时间需要 8 分钟。

 

基于注解的mybatis整合spring项目

 

采用了spring-boot,mybatis,freemarker等框架

 

spring-boot:spirng的快速开发框架,继承了常用的spring库,且有内置tomcat方便调试。

mybatis:方便快捷的ORM框架,可以省去编写dao层代码的麻烦。相比hibernate更为轻量级和易于学习。

freemarker:页面模板框架,对于动态渲染页面有很大帮助,尤其对于填写数据等可以降低很多工作量。

 

gradle依赖配置如下:

 

 

 

compile(             'org.springframework.boot:spring-boot-starter-web:1.3.2.RELEASE',            "org.springframework.boot:spring-boot-starter-web:1.3.2.RELEASE",            "org.springframework.boot:spring-boot-starter-aop:1.3.2.RELEASE",            "org.springframework.boot:spring-boot-starter-test:1.3.2.RELEASE",            "org.springframework.boot:spring-boot-starter-jdbc:1.3.2.RELEASE",            'org.springframework:spring-context-support:4.2.5.RELEASE',             'com.alibaba:druid:1.0.16',            'mysql:mysql-connector-java:5.1.36',            'org.mybatis:mybatis:3.3.1',            'org.mybatis:mybatis-spring:1.2.4',             'org.freemarker:freemarker:2.3.23'      )}

  

 

 

 

在spring配置中,注解扫描、数据源配置等略过,关于mybatis的数据源配置如下:

 

    

  

 

配置了扫描器之后,就可以自动扫描dao接口,不必再另行声明。

dao接口代码如下:

public interface NewsDao {     @Insert("insert into news( id,title,time,content) VALUES (#{id},#{title},#{time},#{content})")    void insert(NewsBean ab);     @Select("select a.* from news a order by time limit #{0},#{1}")    List
pageQuery(int skip, int size); @Select("select * from news where id=#{0}") NewsBean find(String id); @Delete("delete from news where id=#{0}") void delete(String id); }

  

 

 

 

 

注解中声明sql语句,就可以省去编写配置文件的繁琐工作,也更便于管理和阅读。

 

 

关于freemarker,需要声明viewResolver

0
UTF-8
0.##########
yyyy-MM-dd HH:mm:ss
true
ignore

  

 

 

可以看到将资源文件均放在了/resource/目录中。后缀仍旧使用.html,若是有部分html不需要经过模板,也可以将后缀名改成.fmt之类

 

然后就可以在html文件中使用freemarker模板。

 

关于向模板中添加数据:

@RequestMapping(value = "listActivity")public String sqhd(@RequestParam(required = false,defaultValue = "0") int page,ModelMap modelMap){    List
list = activityService.activityPageQuery(page); modelMap.addAttribute("activitys",list); return "sqhd";}

  

 

 

 

在modelmap中添加数据即可,在页面中使用${activitys.***}即可访问。对于数组需要按照数组访问

转载于:https://www.cnblogs.com/Ayanami-Blob/p/5282417.html

你可能感兴趣的文章
Linux:linux压缩文件解析
查看>>
GNS3 学习软件
查看>>
软件测试技术的发展方向
查看>>
java poi导入excel日期处理
查看>>
超简代码版设计模式系列四
查看>>
spring中bean配置和bean注入
查看>>
[LeetCode] String Reorder Distance Apart
查看>>
开源组织几大门派
查看>>
一次特别的DedeCMS拿站经历
查看>>
我的友情链接
查看>>
ubuntu学习之路(1)
查看>>
SAN光纤交换机常用命令整理(转)
查看>>
开发基于以太坊智能合约的DApp
查看>>
GNS3 1.4.0 IOU 安装教程
查看>>
Bash编程(五)
查看>>
译:编程面试的10大算法概念汇总
查看>>
浏览器的工作原理:新式网络浏览器幕后揭秘
查看>>
IOS --纯代码实现tableviewCell
查看>>
Cookie基础与应用
查看>>
HttpClient的使用
查看>>