org.springframework
spring-context
5.0.5.RELEASE
org.aspectj
aspectjweaver
1.8.7
org.springframework
spring-jdbc
5.0.5.RELEASE
org.springframework
spring-tx
5.0.5.RELEASE
org.springframework
spring-test
5.0.5.RELEASE
org.springframework
spring-webmvc
5.0.5.RELEASE
javax.servlet
servlet-api
2.5
javax.servlet.jsp
jsp-api
2.0
org.mybatis
mybatis
3.4.5
org.mybatis
mybatis-spring
1.3.1
mysql
mysql-connector-java
5.1.6
c3p0
c3p0
0.9.1.2
junit
junit
4.12
jstl
jstl
1.2
log4j
log4j
1.2.17
4.编写实体类
public class Account {
private int id;
private String name;
private double money;
//省略getter和setter方法
}
5.编写Mapper接口
public interface AccountMapper {
//保存账户数据
void save(Account account);
//查询账户数据
List findAll();
}
6.编写Service接口
public interface AccountService {
void save(Account account); //保存账户数据
List findAll(); //查询账户数据
}
7.编写Service接口实现
@Service("accountService")
public class AccountServiceImpl implements AccountService {
public void save(Account account) {
SqlSession sqlSession = MyBatisUtils.openSession();
AccountMapper accountMapper = sqlSession.getMapper(AccountMapper.class);
accountMapper.save(account);
sqlSession.commit();
sqlSession.close();
}
public List findAll() {
SqlSession sqlSession = MyBatisUtils.openSession();
AccountMapper accountMapper = sqlSession.getMapper(AccountMapper.class);
return accountMapper.findAll();
}
}
MyBatisUtils.java
public class MyBatisUtils {
public static SqlSession openSession() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}
}
8.编写Controller
@Controller
@RequestMapping("/account")
public class AccountController {
@Autowired
private AccountService accountService;
//保存
//produces = "text/html;charset=UTF-8" 解决中文乱码
@RequestMapping("/save",produces = "text/html;charset=UTF-8")
@ResponseBody
public String save(Account account){
accountService.save(account);
return "保存成功";
}
//查询
@RequestMapping("/findAll")
public ModelAndView findAll(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("accountList");
modelAndView.addObject("accountList",accountService.findAll());
return modelAndView;
}
}
9.编写添加页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
保存账户信息表单
10.编写列表页面
| 账户id | 账户名称 | 账户金额 |
|---|---|---|
| ${account.id} | ${account.name} | ${account.money} |
•Spring配置文件:applicationContext.xml
•SprngMVC配置文件:spring-mvc.xml
•MyBatis映射文件:AccountMapper.xml
insert into account values (#{id}, #{name}, #{money}) select * from account
•MyBatis核心文件:sqlMapConfig.xml
•数据库连接信息文件:jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ssm jdbc.user=root jdbc.password=123456
•Web.xml文件:web.xml
org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring-mvc.xml 1 DispatcherServlet / CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 CharacterEncodingFilter /*
•日志文件:log4j.xml
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=all, stdout
12.测试添加账户
13.测试账户列表
1.2 Spring整合MyBatis
1.整合思路
2.将SqlSessionFactory配置到Spring容器中
删除SqlMapConfig.xml的相关内容
在applicationContext.xml配置
3.扫描Mapper,让Spring容器产生Mapper实现类
删除SqlMapConfig.xml的相关内容
在applicationContext.xml配置
4.配置声明式事务控制
在applicationContext.xml配置
5.修改Service实现类代码
@Service("accountService")
public class AccountServiceImpl implements AccountService {
@Autowired
private AccountMapper accountMapper;
@Override
public void save(Account account) throws IOException {
accountMapper.save(account);
}
@Override
public List findAll() throws IOException {
List accountList = accountMapper.findAll();
return accountList;
}
}
源代码下载



