如何通过Spring和MyBatis的整合实现数据库表中信息查询?


UserMapper.java

package cn.kgc.dao;

import java.util.List;

import cn.kgc.pojo.User;

public interface UserMapper {
   
	 //根据条件(用户名称、角色ID)查询用户列表
	public List<User> getUserList(User user);
}

UserMapperImpl.java

package cn.kgc.dao;

import java.util.List;

import org.mybatis.spring.support.SqlSessionDaoSupport;

import cn.kgc.pojo.User;

public class UserMapperImpl extends SqlSessionDaoSupport implements UserMapper{


	@Override
	public List<User> getUserList(User user) {
		                  // 面向接口编程思想:UserMapper接口的全类名+接口中的方法名(同select中的id)
		return this.getSqlSession().selectList("cn.kgc.dao.UserMapper.getUserList", user);

	}

}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<!-- namespace表示xml全类名  -->
<mapper namespace="cn.kgc.dao.UserMapper">
     
       <!-- 根据条件(用户名称、角色ID)查询用户列表
      -->
      
      <select id="getUserList"  parameterType="User" resultMap="userlist">
          select u.*,r.roleName 
          from smbms_user u,smbms_role r
          where u.userName like CONCAT('%',#{userName},'%')
          and u.userRole=#{userRole}
          and u.userRole=r.id
          
      </select>
      
       <resultMap type="User" id="userlist">
      	 <result property="id" column="id"/>
      	 <result property="userCode" column="userCode"/>
      	 <result property="userName" column="userName"/>
      	 <result property="phone" column="phone"/>
      	 <result property="birthday" column="birthday"/>
      	 <result property="gender" column="gender"/>
      	 <result property="userRole" column="userRole"/>
      	 <result property="userRoleName" column="roleName"/>      	 
      </resultMap>
      
</mapper>

UserTest.java

package cn.kgc.test;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.kgc.dao.UserMapper;
import cn.kgc.pojo.User;

public class UserTest {

	@Test
	public void test() {
		ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
			//接口的引用
		UserMapper userMapper=(UserMapper)ctx.getBean("userMapper");
		List<User>userList=new ArrayList<User>();
		User u=new User();
		u.setUserName("赵");
		u.setUserRole(3);
			//调用接口中的方法
		userList=userMapper.getUserList(u);
		System.out.println(userList);
		for(User uu : userList){
			System.out.println(uu.getUserCode()+"------"+uu.getUserName()+"----"+uu.getUserRole()+"----"+uu.getUserRoleName()+"-----"+uu.getAddress());
		}
	}

}

MyBatisUtil.java 无用

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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
     <!-- 配置数据源 -->
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
          <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
          <property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms"></property>
          <property name="username" value="root"></property>
          <property name="password" value="root"></property>
     </bean>
   
   
   <!--  配置SqlSessionFactoryBean      为我们mybatis提供的一个整合插件包-->
       <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 引用数据源组件 -->
            <property name="dataSource" ref="dataSource"></property>
            
            <!--引用MyBATIS配置文件中的信息   -->
            <property name="configLocation" value="classpath:mybatis-config.xml"></property>
            
            
            <!--配置sql映射文件信息  -->
            <property name="mapperLocations">
            		<list>
            			<value>classpath:cn/kgc/dao/UserMapper.xml</value>
            		</list>
            </property>
       </bean>
       
      
      <!-- 配置DAO -->
      <bean id="userMapper" class="cn.kgc.dao.UserMapperImpl">
           <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
      </bean>
        
</beans>

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>

   <typeAliases>
   		<package name="cn.kgc.pojo"/>
   </typeAliases>
   
 
</configuration>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值