1. 创建数据库表
#用户基本信息表
create table t_user(
user_id int primary key auto_increment,
user_name varchar(20),
user_age int,
user_address varchar(30)
);
2. 创建项目,完善结构
3. 导入依赖
< ! -- https: / / mvnrepository. com/ artifact/ org. springframework/ spring- context -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- context< / artifactId>
< version> 5.1 .5 . RELEASE< / version>
< / dependency>
< ! -- spring- jdbc -- >
< ! -- https: / / mvnrepository. com/ artifact/ org. springframework/ spring- jdbc -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- jdbc< / artifactId>
< version> 5.1 .5 . RELEASE< / version>
< / dependency>
< ! -- spring_tx -- >
< ! -- https: / / mvnrepository. com/ artifact/ org. springframework/ spring- tx -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- tx< / artifactId>
< version> 5.1 .5 . 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>
< ! -- mybatis- spring 整合包 -- >
< dependency>
< groupId> org. mybatis< / groupId>
< artifactId> mybatis- spring< / artifactId>
< version> 1.3 .1 < / version>
< / dependency>
< ! -- mysql数据库驱动 -- >
< ! -- https: / / mvnrepository. com/ artifact/ mysql/ mysql- connector- java -- >
< dependency>
< groupId> mysql< / groupId>
< artifactId> mysql- connector- java< / artifactId>
< version> 5.1 .38 < / version>
< / dependency>
< ! -- druid 阿里的连接池-- >
< dependency>
< groupId> com. alibaba< / groupId>
< artifactId> druid< / artifactId>
< version> 1.1 .7 < / version>
< / dependency>
< ! -- 配置开发SpringMVC所以来的jar包 -- >
< ! -- https: / / mvnrepository. com/ artifact/ org. springframework/ spring- webmvc -- >
< dependency>
< groupId> org. springframework< / groupId>
< artifactId> spring- webmvc< / artifactId>
< version> 5.1 .5 . RELEASE< / version>
< / dependency>
< ! -- 配置ServletAPI依赖 -- >
< ! -- https: / / mvnrepository. com/ artifact/ javax. servlet/ javax. servlet- api -- >
< dependency>
< groupId> javax. servlet< / groupId>
< artifactId> javax. servlet- api< / artifactId>
< version> 3.0 .1 < / version>
< scope> provided< / scope>
< / dependency>
< ! -- https: / / mvnrepository. com/ artifact/ com. fasterxml. jackson. core/ jackson- core -- >
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- core< / artifactId>
< version> 2.9 .8 < / version>
< / dependency>
< ! -- https: / / mvnrepository. com/ artifact/ com. fasterxml. jackson. core/ jackson- databind -- >
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- databind< / artifactId>
< version> 2.9 .8 < / version>
< / dependency>
< ! -- https: / / mvnrepository. com/ artifact/ com. fasterxml. jackson. core/ jackson- annotations -- >
< dependency>
< groupId> com. fasterxml. jackson. core< / groupId>
< artifactId> jackson- annotations< / artifactId>
< version> 2.9 .8 < / version>
< / dependency>
4. 配置web.xml文件
< ! DOCTYPE web- app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
< web- app>
< display- name> Archetype Created Web Application< / display- name>
< servlet>
< servlet- name> dispatcherServle< / servlet- name>
< servlet- class > org. springframework. web. servlet. DispatcherServlet< / servlet- class >
< init- param>
< param- name> contextConfigLocation< / param- name>
< param- value> classpath: applicationContext. xml< / param- value>
< / init- param>
< / servlet>
< servlet- mapping>
< servlet- name> dispatcherServle< / servlet- name>
< url- pattern> * . do < / url- pattern>
< / servlet- mapping>
< / web- app>
5. 创建javabean
6. 创建数据访问接口
7. 在resources目录下创建数据连接文件和SQL映射文件
8. 创建业务访问接口以及实现类【@Service/注入Mapper】
package com. wangxing. ssm. service;
import com. wangxing. ssm. bean. UserBean;
import java. util. List;
public interface UserService {
public void insertUser ( UserBean userBean) ;
public void updateUser ( UserBean userBean) ;
public void deleteUser ( int userid) ;
public UserBean selectUserByld ( int userid) ;
public List< UserBean> selectUser ( ) ;
}
package com. wangxing. ssm. service;
import com. wangxing. ssm. bean. UserBean;
import com. wangxing. ssm. mapper. UserBeanMapper;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Service;
import java. util. List;
@Service ( "userService" )
public class UserServiceImpl implements UserService {
@Autowired
private UserBeanMapper userBeanMapper;
@Override
public void insertUser ( UserBean userBean) {
userBeanMapper. insert ( userBean) ;
}
@Override
public void updateUser ( UserBean userBean) {
userBeanMapper. updateByPrimaryKey ( userBean) ;
}
@Override
public void deleteUser ( int userid) {
userBeanMapper. deleteByPrimaryKey ( userid) ;
}
@Override
public UserBean selectUserByld ( int userid) {
return userBeanMapper. selectByPrimaryKey ( userid) ;
}
@Override
public List< UserBean> selectUser ( ) {
return userBeanMapper. selectByExample ( null) ;
}
}
9. 创建控制器类以及请求处理方法【注入Service】
package com. wangxing. ssm. controller;
import com. wangxing. ssm. bean. ResBean;
import com. wangxing. ssm. bean. UserBean;
import com. wangxing. ssm. service. UserService;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Controller;
import org. springframework. web. bind. annotation. RequestMapping;
import org. springframework. web. bind. annotation. ResponseBody;
import java. util. List;
@Controller
@RequestMapping ( value = "/user" )
public class UserBeanController {
@Autowired
private UserService userService;
@RequestMapping ( value = "/add.do" )
@ResponseBody
public ResBean addUserBean ( UserBean userBean) {
try {
userService. insertUser ( userBean) ;
return new ResBean ( true , "添加成功" ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
return new ResBean ( false , "添加失败" ) ;
}
}
@RequestMapping ( value = "/update.do" )
@ResponseBody
public ResBean updateUserBean ( UserBean userBean) {
try {
userService. updateUser ( userBean) ;
return new ResBean ( true , "修改成功" ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
return new ResBean ( false , "修改失败" ) ;
}
}
@RequestMapping ( value = "/findOne.do" )
@ResponseBody
public UserBean findOneUserBean ( int userid) {
UserBean userBean = null;
try {
userBean= userService. selectUserById ( userid) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
return userBean;
}
@RequestMapping ( value = "/findAll.do" )
@ResponseBody
public List< UserBean> findAllUserBean ( ) {
List< UserBean> userBeanList = null;
try {
userBeanList= userService. selectUser ( ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
return userBeanList;
}
@RequestMapping ( value = "/delete.do" )
@ResponseBody
public ResBean deleteUserBean ( int userid) {
try {
userService. deleteUser ( userid) ;
return new ResBean ( true , "删除成功" ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
return new ResBean ( false , "删除失败" ) ;
}
}
}
10. 在resources目录下创建并配置applicationContext.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"
xmlns: mvc= "http://www.springframework.org/schema/mvc"
xsi: schemaLocation= "http: / / www. springframework. org/ schema/ beans
http: / / www. springframework. org/ schema/ beans/ spring- beans. xsd
http: / / www. springframework. org/ schema/ context
http: / / www. springframework. org/ schema/ context/ spring- context. xsd
http: / / www. springframework. org/ schema/ mvc
http: / / www. springframework. org/ schema/ mvc/ spring- mvc. xsd">
< ! -- 开启注解-- >
< mvc: annotation- driven> < / mvc: annotation- driven>
< ! -- 配置自动扫描包-- >
< context: component- scan base- package = "com.wangxing.ssm" > < / context: component- scan>
< ! -- 配置加载mydata. properties-- >
< context: property- placeholder location= "classpath:mydata.properties" > < / context: property- placeholder>
< ! -- 配置数据源-- >
< ! -- com. alibaba. druid. pool. DruidDataSource-- >
< bean id= "dataSource" class = "com.alibaba.druid.pool.DruidDataSource" >
< property name= "driverClassName" value= "${mydriver}" > < / property>
< property name= "url" value= "${myurl}" > < / property>
< property name= "username" value= "${myusername}" > < / property>
< property name= "password" value= "${mypassword}" > < / property>
< / bean>
< ! -- 配置SqlSessionFactory -- >
< ! -- org. mybatis. spring. SqlSessionFactoryBean-- >
< bean class = "org.mybatis.spring.SqlSessionFactoryBean" >
< ! -- 注入数据源-- >
< property name= "dataSource" ref= "dataSource" > < / property>
< ! -- 注入sql映射文件路径-- >
< property name= "mapperLocations" value= "classpath:mapper/UserBeanMapper.xml" > < / property>
< / bean>
< ! -- 配置扫描数据库访问接口包,创建数据库访问接口对象-- >
< bean class = "org.mybatis.spring.mapper.MapperScannerConfigurer" >
< property name= "basePackage" value= "com.wangxing.ssm.mapper" > < / property>
< / bean>
< / beans>