Intellij 中集成SrpingMvc MyBatis。Web开发中,java跟众多的Web开发语言一样也拥有很多web开发框架,以此让程序员提高开发效率,在javaEE中用的最多的恐怕就是Spring框架了。虽然对老司机来说,开发环境的搭建可谓轻车熟路,但是对新手来说,难免会遇到很多坑。好了废话多说无益,这里直接上步骤。
1.准备工作
1.1 安装javaSDK,请自行选择安装版本,目前一般用的多的是java7或者java8。我这里用的是java8,您可以自行选择下载安装,并配置好系统环境变量。不会安装,请自行百度哟。
1.2 安装Tomcat ,请注意tomcat的版本与JDK版本的对应关系。Tomcat7.x以上要JDK 6.0及以上版本才能兼容,版本对照表您可以自行检索资料,同样安装好后请配置好环境变量。
1.3 安装IDE,这里我们安装JetBrains出的Intellij.这IDE不多说,比Eclipse好用太多。IDE安装教程您可以自行检索资料,这里不提供。
1.4 安装MySql,对就是Mysql.我安装的是mysql8.0,mysql的版本会影响Spring JDBC的配置与连接,主要是驱动不一样。后面会提到。
1.5 安装maven,下载好maven,安装到本地磁盘,进入【conf】目录,选择setting.xml,配置本地仓库,修改默认本地仓库,localRepository,修改到C盘以外的位置。怎么配置,也请检索资料,自行解决,这个不难的。
2.开工
前面我们已经做好了准备工作, 该装的都已经装了,那么我们开始吧。
2.1 新建工程
2.2配置相关目录与文件
2.2.1 pom.xml 添加Spring项目需要的相关依赖。这里mysql因为是8.0这里将version修改为8.0.11
4.0.0
war
1.8
1.8
com.hm
hmhealth
com.hm
1.0-SNAPSHOT
org.mortbay.jetty
maven-jetty-plugin
6.1.7
8888
30000
${project.build.directory}/${pom.artifactId}-${pom.version}
/
junit
junit
4.11
test
org.slf4j
slf4j-api
1.7.12
ch.qos.logback
logback-core
1.1.1
ch.qos.logback
logback-classic
1.1.1
mysql
mysql-connector-java
8.0.11
runtime
c3p0
c3p0
0.9.1.1
org.mybatis
mybatis
3.3.0
org.mybatis
mybatis-spring
1.2.3
taglibs
standard
1.1.2
jstl
jstl
1.2
com.fasterxml.jackson.core
jackson-databind
2.5.4
javax.servlet
javax.servlet-api
3.1.0
org.springframework
spring-core
4.1.7.RELEASE
org.springframework
spring-beans
4.1.7.RELEASE
org.springframework
spring-context
4.1.7.RELEASE
org.springframework
spring-jdbc
4.1.7.RELEASE
org.springframework
spring-tx
4.1.7.RELEASE
org.springframework
spring-web
4.1.7.RELEASE
org.springframework
spring-webmvc
4.1.7.RELEASE
org.springframework
spring-test
4.1.7.RELEASE
junit
junit
RELEASE
junit
junit
RELEASE
2.2.2 创建相关的目录与文件,目录结构如下。
2.2.3相关文件code
1.模型类User.Class
/**
* Created by zi198 on 2018/11/29
*/
public class User {
public int id;
public String name;
public int age;
public int password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
}
2.Dao接口
import com.hmweb.model.User;
import java.util.List;
/**
* Created by zi198 on 2018/11/29
*/
public interface UserMapper {
List getAll();
void save(User user);
void delete(int id);
void update(User user);
User getUserById(int id);
}
3.UserService
package com.hmweb.service;
import com.hmweb.model.User;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* Created by zi198 on 2018/11/29
*/
@Transactional
public interface UserService {
List getAll();
void save(User user);
void delete(int id);
void update(User user);
User getUserById(int id);
}
4.UserService实现类
import com.hmweb.dao.UserMapper;
import com.hmweb.model.User;
import com.hmweb.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Created by zi198 on 2018/11/29
*/
@Service("userService")
public class UserServicelmpl implements UserService {
@Autowired
UserMapper userMapper;
public List getAll() {
return userMapper.getAll();
}
public void save(User user) {
userMapper.save(user);
}
public void delete(int id) {
userMapper.delete(id);
}
public void update(User user) {
userMapper.update(user);
}
public User getUserById(int id) {
return userMapper.getUserById(id);
}
}
5.mapper/UserMapper.xml
insert into t_user(id,name,age,password) values(#{id},#{name},#{age},#{password})
delete from t_user where id=#{id}
update t_user set name=#{name},age=#{age},password=#{password} where id=#{id}
6.spring-dao
7.spring-service
8.spring-web
9.jdbc.properties
jdbc.url: jdbc:mysql://localhost:3306/hm?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
jdbc.driver: com.mysql.cj.jdbc.Driver
jdbc.username=root
jdbc.password=123456
10.mybatis-config
11.web.xml
cjq-dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/spring-*.xml
cjq-dispatcher
/
/login.jsp
11.写测试类,
package com.hmweb;
import com.hmweb.model.User;
import com.hmweb.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
/**
* Created by zi198 on 2018/11/29
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:spring/spring-*.xml")
public class UserServiceImplTest {
@Resource
Date date;
@Resource
UserService userService;
@Test
public void testDate(){
System.out.println(date);
}
@Test
public void testGetAll(){
List list=userService.getAll();
for(User user:list){
System.out.println(user.getName());
}
}
@Test
public void testGetUserById(){
System.out.println(userService.getUserById(1).getName());
}
@Test
public void testSave(){
User user=new User();
user.setName("test");
user.setAge(11);
user.setPassword(111222);
userService.save(user);
}
@Test
public void testDelete(){
userService.delete(1);
}
@Test
public void testUpdate(){
User user=userService.getUserById(2);
user.setName("hello");
userService.update(user);
}
}