- 创建Maven项目
- 导入pom.xml
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!-- Spring依赖 -->
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<!--spring-context-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<!--、spring-core-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<!--spring-bean-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<!-- MyBatis核心依赖包 -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- mysql数据库驱动 -->
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
<!-- <version>8.0.17</version> -->
</dependency>
<!-- Spring——Mybatis连接依赖 -->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
</dependency>
<!-- 实现数据库连接池 -->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.1.1</version>
</dependency>
<!-- 对象池库 -->
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.4.2</version>
</dependency>
<!-- SpringMvc -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.13.RELEASE</version>
</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>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- jspn格式-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
</dependencies>
<!-- 项目内写mybatis映射文件 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
- 添加web依赖
3.1 右键项目 -> 单击Add Framework Support...
3.2 单击Java EE -> 选择JavaEE7
3.3 选中Web Application -> 选择 3.1 -> ok
3.4 把web文件夹移动到src/main目录下
3.5 单击右上角的项目结构选项(Project Structure...)、修改项目结构;或者使用Sthif+Ctrl+Alt+S进入 3.6 选择 Facets -> 选中自己创建的项目 -> 双击路径进行修改 3.7 选择修改后web文件夹的位置,点击确认完成修改 3.8 测试(推荐测试,有自信的可以跳过)
3.9 添加服务器tomcat
3.10 点击左上角“+” -> 找到Tomcat Server -> 选择local
3.11 配置启动项
3.12 进入Deployment选项卡,把项目打包
3.13 修改访问路径,方便访问,点击完成; 3.14 进入web/index.html随便写几句话 -> 启动服务器
3.15 网页显示、前面所有步骤,配置成功
- 整合Spring+Mybatis
- Mybatis
4.1 在Resources目录下创建Mybatis的文件mybatis-config.xml
4.2 配置文件只配置别名,其他setting用到时在开启
<?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">
<typeAliases>
<package name="cn.kgc.entity"/>
</typeAliases>
<!-- 开启驼峰命名映射(mysql字段为user_id,javaBean属性为userId 的情况可以自动映射封装) -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
<!-- 自动使用方法定义时的参数名作为xml使用是的key(不需要使用@param("abc"),即可直接在mapper。xml使用#{abc})
<setting name="useActualParamName" value="true" />-->
<!-- 延迟加载:使用场景,当前对象有其他的对象,但是并不是每一次都会使用到这个联合对象, 只有当需要用到联合对象的时候才进行加载,类似懒汉式
<setting name="lazyLoadingEnabled" value="true" />-->
<!-- 联合对象中如果用到其中一个属性,默认会把所有的属性全部加载出来
<setting name="aggressiveLazyLoading" value="false" />-->
<!-- 打印日志,报错表示缺少log4j包
<setting name="logImpl" value="LOG4J"/>-->
</configuration>
- Spring
- Spring
5.1 在resources中创建Spring配置文件,推荐命名application.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!-- 注解扫描 -->
<context:component-scan base-package="cn.kgc.service"></context:component-scan>
<context:property-placeholder location="classpath:database.properties"></context:property-placeholder>
<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.kgc.dao"></property>
</bean>
- 测试
6.1 创建User
import java.util.Date;
public class User {
private Integer userId;
private String userName;
private String userPassword;
private Date userBirthday;
private Date userSigninTime;
private Integer userLevel;
private Integer userState;
public User() {
}
/**
* Mybatis+Spring 测试用,登陆
* @param userName
* @param userPassword
*/
public User(String userName, String userPassword) {
this.userName = userName;
this.userPassword = userPassword;
}
public User(Integer userId, String userName, String userPassword, Date userBirthday, Date userSigninTime, Integer userLevel, Integer userState) {
this.userId = userId;
this.userName = userName;
this.userPassword = userPassword;
this.userBirthday = userBirthday;
this.userSigninTime = userSigninTime;
this.userLevel = userLevel;
this.userState = userState;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public Date getUserBirthday() {
return userBirthday;
}
public void setUserBirthday(Date userBirthday) {
this.userBirthday = userBirthday;
}
public Date getUserSigninTime() {
return userSigninTime;
}
public void setUserSigninTime(Date userSigninTime) {
this.userSigninTime = userSigninTime;
}
public Integer getUserLevel() {
return userLevel;
}
public void setUserLevel(Integer userLevel) {
this.userLevel = userLevel;
}
public Integer getUserState() {
return userState;
}
public void setUserState(Integer userState) {
this.userState = userState;
}
@Override
public String toString() {
return "User{" +
"userId=" + userId +
", userName='" + userName + '\'' +
", userPasswprd='" + userPassword + '\'' +
", userBirthday=" + userBirthday +
", userSigninTime=" + userSigninTime +
", userLevel=" + userLevel +
", userState=" + userState +
'}';
}
}
6.2 UserMapper(Interface)
import cn.kgc.entity.User;
public interface UserMapper {
//注册
public int signIn(User user);
//登陆
public User login(User user);
}
6.3 UserMapper.xml
<?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="cn.kgc.dao.UserMapper">
<select id="login" resultType="User">
select user_name,user_password from user where user_name=#{userName} and user_password = #{userPassword}
</select>
</mapper>
6.4 UserService(Interface)
import cn.kgc.entity.User;
public interface UserService {
//注册
public int signIn(User user);
//登陆
public User login(User user);
}
6.5 UserServiceMapper
import cn.kgc.dao.UserMapper;
import cn.kgc.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
//声明service
@Service("UserService")
public class UserServiceImpl implements UserService {
//@Autowired 自动装配
@Autowired
UserMapper userMapper;
public int signIn(User user) {
return 0;
}
public User login(User user) {
return userMapper.login(user);
}
}
6.6 Test
import cn.kgc.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class UserServiceImplTest {
@Autowired
private UserService userService;
@Test
public void login() {
User user = userService.login(new User("root","root"));
if (user != null){
System.out.println("3");
}
}
}
- 把maven加入War包中,启动tomcat测试。
7.1 选中项目进入项目结构(Ctrl+Shift+Alt+S) -> Artifacts -> 选中自己的项目 -> 右键最右边列表中自己项目的文件夹 -> Put into Output Root 7.2 确定自己文件夹内已经把所有依赖的jar包导入到war包中 7.3 修改服务器启动项
7.4 删除旧项目、并重新添加、启动测试