Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.
IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的.
以上为百度的简介.从事Android的童鞋应该不难发现Gradle以及Android Studio的强(hen)大(ka).而AS是基于IntelliJ IDEA开发的.习惯了Gradle的便捷,于是开始基于Gradle+IDEA构建Java项目.
环境准备
1. 数据库MySql
在MySql Downloads下载对应的版本并安装
.
此处笔者在macOS上安装5.7.21后打开系统偏好设置,遇到无法加载MySql面板的问题.一番搜索后发现是macOS版本与MySql不兼容,选择低版本的MySql如5.6.39即可.
.
2. IntelliJ IDEA
请自行安(po)装(jie).
3. Tomcat
请自行下载解压.如若是macOS或是Linux上解压后需进入bin目录执行下命令chmod u+x *.sh修改权限
创建项目
点击 Create New Project
.
选择基于Gradle的Java Web项目
.
填写GroupId和ArtifactId
.
选择gradle.可使用默认的,可使用本地的
接着选择项目目录,基本项目创建好了,接下来进入文件配置
文件配置
首先创建java和resources目录,并且创建包以及web.xml.
.
log4j.properties
.
以上输出文件地址自行更改
generatorConfig.xml
.
.
gradle.properties
.
为了方便扫描,将mapper xml以及接口类放在了同一包下了
jdbc-mysql.properties
.
自行填写jdbc.jarDirection路径
build.gradle
.
.
.
.
接着Sync或者点击Import Changes
.
IDEA就会下载依赖包了.依赖版本号均源于Maven Repository
spring-mvc.xml
.
导入依赖后,则可直接创建spring相关xml
.
applicationContext-dao.xml
.
.
applicationContext-service.xml
.
applicationContext-trans.xml
.
.
web.xml
.
.
Tomcat部署
Run->Edit Configurations
.
有fix项点击配置即可,然后运行.
.
MyBatis配置
数据库管理工具笔者使用的是
.
首先创建数据库halcyon,接着创建book表,用于后面的mybatis generator
.
CREATE TABLE book (book_id INT PRIMARY KEY AUTO_INCREMENT,book_name VARCHAR(30) NOT NULL,author VARCHAR(20) default '佚名'高级架构师Q群:463884523)然后在gradle创建mybatis generator task
.
.
运行task
.
运行成功后,会生成与数据库表对应的java bean与dao文件,即项目里的Book.java、BookExample.java、BookMapper.xml、BookMapper.java
.
generatorConfig.xml配置参数可自行搜索补充修改.手动覆写下Book的toString方法方便日志输出
测试
为了满足同时测试Spring、SpringMVC、Mybatis,笔者建立一个Controller通过Get请求进行CURD操作.
Service
.
Controller
.
.
直接通过请求地址,获得结果
插入:
.
.
执行后直接将数据库中所有book记录输出,方便观察.
其它操作类似
更新:
.
删除:
.
查询(所有):
.
如若发生500 Invalid bound statement (not found)类似错误,一般是没有扫描到Mapper.xml.其中一种情况下是xml根本没被打包进war.需要在build.gradle中进行配置,并且配置后Sync或Import Changes,再重新用命令./gradlew build才可生效.
.
至此SpringMVC+MyBatis+Gradle项目已经构建测试完毕.
代码已上传GayHub,文章若对各位大佬有帮助,麻烦顺手点个star~
各位可能发现了,SSM配置起来比较繁琐,相比之下,SpringBoot就精简了许多.后面有机会,我们再来细说