springside4整合mybatis

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完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值