首先引入jar包:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
<scope>true</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<build>
<finalName>springboot1</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/jld
spring.datasource.username=root
spring.datasource.password=Root123456!
第一种方式:
在启动类上添加mapper扫描注解,
@SpringBootApplication
@MapperScan("com.jiulin.*.mapper")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
controller
@Controller
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping("/toLogin")
public String toLogin(){
return "login";
}
@RequestMapping("/login")
public String login(User user,Map<String,Object> map){
User user1 = userService.login(user.getUserId(),user.getPassword());
if (user1!=null){
map.put("userId",user.getUserName());
return "index";
}else {
return "redirect:/toLogin";
}
}
}
service
@Service
public class UserServiceImpl implements IUserService {
@Autowired
private UserMapper userMapper;
@Override
public User login(String username, String password)
{
User userTemp = userMapper.getStaffByUserName(username);
if (userTemp != null && MD5.encodeByMd5AndSalt(password).equals(userTemp.getPassword()))
{
return userTemp;
}
return null;
}
}
mapper
public interface UserMapper {
@Results({ @Result(column = "id", property = "id", jdbcType = JdbcType.INTEGER),
@Result(column = "userId", property = "userId", jdbcType = JdbcType.VARCHAR),
@Result(column = "staffName", property = "userName", jdbcType = JdbcType.VARCHAR),
@Result(column = "passwd", property = "password", jdbcType = JdbcType.VARCHAR), })
@Select("select * from offline_staff where userId=#{userId}")
User getStaffByUserName(@Param("userId") String userId);
第二种方式:在启动类上不加 @MapperScan("com.jiulin.*.mapper") 在mapper上家@Mapper注解
第三种方式:
在application.properties上加上mybatis的配置文件路径:mybatis.config-location=classpath:mybatis-config.xml
编写mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="false"/>
<setting name="localCacheScope" value="STATEMENT"/>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<mappers>
<package name="com.jiulin.user.mapper" />
</mappers>
</configuration>