springside4整合mybatis
来源:互联网 发布:软件过程 编辑:程序博客网 时间:2024/05/24 05:07
1 pom.xml文件中添加mybatis
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.7</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
2 在main/resources下面的applicationContext.xml添加MyBatis相关的配置文件:
<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<property name="typeAliasesPackage" value="mycompany.com.entity.mybatis" />
<!-- 显式指定Mapper文件位置 -->
<property name="mapperLocations" value="classpath:/mybatis/*Mapper.xml" />
</bean>
<!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="mycompany.com" />
<property name="annotationClass" value="mycompany.com.repository.mybatis.MyBatisRepository"/>
</bean>
在mycompany.com.repository.mybatis 下创建 MyBatisRepository.class
package mycompany.com.repository.mybatis;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Component;
/**
* 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描。
*
* @author calvin
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Component
public @interface MyBatisRepository {
String value() default "";
}
3 添加Mapper.xml
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">
<!-- namespace必须指向Dao接口 -->
<mapper namespace="com.bceapp.springbbs.myspring.repository.mybatis.UserMybatisDao">
<!--
获取用户: 输出直接映射到对象, login_name列要"as loginName"以方便映射 ,team_id as "team.id"创建team对象并赋值
-->
<select id="get" parameterType="long" resultType="User">
select id, name,
login_name as loginName
from ss_user
where id=#{id}
</select>
<!-- 删除用户 -->
<delete id="delete" parameterType="long">
delete from ss_user where id=#{id}
</delete>
</mapper>
4 创建Dao
UserMybatisDao
package mycompany.com.repository.mybatis;
import java.util.List;
import java.util.Map;
import mycompany.com.entity.mybatis.User;
/**
* 通过@MapperScannerConfigurer扫描目录中的所有接口, 动态在Spring Context中生成实现.
* 方法名称必须与Mapper.xml中保持一致.
*
* @author calvin
*/
@MyBatisRepository
public interface UserMybatisDao {
User get(Long id);
List<User> search(Map<String, Object> parameters);
void save(User user);
void delete(Long id);
}
5 service
UserMybatisService
package com.bceapp.springbbs.myspring.service.mybatis;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import com.bceapp.springbbs.myspring.entity.User;
import com.bceapp.springbbs.myspring.repository.mybatis.UserMybatisDao;
@Component
@Transactional
public class UserMybatisService {
@Autowired
private UserMybatisDao userDao;
public User getUser(Long id) {
return userDao.get(id);
}
}
6 创建Controller测试
UserController
package com.bceapp.springbbs.myspring.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.bceapp.springbbs.myspring.entity.User;
import com.bceapp.springbbs.myspring.service.mybatis.UserMybatisService;
@Controller
@RequestMapping(value = "/account/user")
public class UserController {
@Autowired
private UserMybatisService userMybatisService;
@RequestMapping(value = "select/{id}", method = RequestMethod.GET)
public String updateForm(@PathVariable("id") Long id, Model model) {
User u=userMybatisService.getUser(id);
System.out.println(u.getLoginName());
model.addAttribute("user", userMybatisService.getUser(id));
return "test/test";
}
}
7 创建test文件夹 创建test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
${requestScope.user.loginName }
</body>
</html>
运行tomcat 登陆后输入 http://127.0.0.1:8080/myspring/account/user/select/1
eclipse 后台显示 "admin"
至此springside4整合mybatis完成。
阅读全文
0 0
- springside4整合mybatis
- springside4整合mybatis
- DWZ 与SpringSide4整合
- springside4
- springside4(spring4.2.5) 整合 flex(blazeds)
- Mybatis -- Mybatis整合Spring
- 【Mybatis】Mybatis整合spring
- 【框架整合】三、整合mybatis
- SpringBoot整合Mybatis(分层整合)
- MyBatis-----2、MyBatis整合Spring
- 【Spring+Mybatis】Spring整合Mybatis
- Spring整合Mybatis
- spring整合myBatis
- MyBatis-Spring框架整合
- MyBatis+Spring整合示例
- MyBatis+Spring整合示例
- MyBatis+Spring整合方案
- 整合Mybatis 与 Spring3
- Android端WEEX + HTTPDNS 最佳实践
- Android第三方框架(不断更新中)
- 编写一个学生类Students,该类成员变量包括学号no、姓名name、性别sex和年龄age,该类的成员方法有genNo()getName ). * getSex().getAge().和setA
- spring mvc controller接收请求值及controller之间跳转及传值
- 输入三个数按从小到大的顺序输出
- springside4整合mybatis
- 计算(1+2+3+3......+n的值)
- 第11章 ASP.NET Web API(WCF宿主+Web API、OWIN宿主+Web API)
- C++新语言
- 2017 ACM-CCPC 秦皇岛站 总结
- 学习典范
- 【TensorFlow】Windows+Anaconda3+Tensorflow(CPU&GPU)+Pycharm 安装
- Java
- N0 解决用Youtube录制视频后 直接播放会报错问题