A integração do Spring do Mybatis é um exemplo extremamente simples e completo (uma estrutura clara requer apenas um arquivo de configuração do sistema xml!)

Os tutoriais na Internet são todos um monte de arquivos de configuração xml. Eu tenho um tutorial hoje. Além do arquivo de mapeamento mybatis, toda a integração do framework de container spring de mybatis só precisa de um arquivo de configuração xml para ser concluído.

Não há necessidade: mybatis-config.xml, db.properties, web.xml.

Ambiente de exemplo:

spring5.2.9, endereço de download: https://repo.spring.io/libs-release-local/org/springframework/spring/5.2.9.RELEASE/

Mybatis: 3.5.6, endereço de download: https://github.com/mybatis/mybatis-3/releases

Os pacotes acima são atualmente a última versão

 

1, classe de entidade User.java

package com.sm.entity;

public class User {
    private String loginid;
    private String loginname;
    private String sex;
    private String mobile;

    public String getLoginid() {
        return loginid;
    }

    public void setLoginid(String loginid) {
        this.loginid = loginid;
    }

    public String getLoginname() {
        return loginname;
    }

    public void setLoginname(String loginname) {
        this.loginname = loginname;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("loginid=").append(loginid);
        sb.append(", loginname=").append(loginname);
        sb.append(", sex=").append(sex);
        sb.append(", mobile=").append(mobile);
        sb.append("]");
        return sb.toString();
    }

}

2, classe de interface UserDao.java

package com.sm.dao;

import java.util.List;

import com.sm.entity.User;

public interface UserDao {
	public User selectUserByID (int id);
	public List<User> selectUserByName (String loginname);
}

3. Arquivo de mapeamento UserDao.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">

<!-- <mapper namespace="user"> -->
<mapper namespace="com.sm.dao.UserDao">

<select id="selectUserByID" parameterType="int" resultType="com.sm.entity.User" >
  select * from t_users where id=#{id}
</select>


<select id="selectUserByName" parameterType="string" resultType="com.sm.entity.User" >
  select * from t_users where loginName like '%${value}%'
</select>

</mapper>

4. applicationContext.xml (arquivo de configuração spring + mybatis)

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:p="http://www.springframework.org/schema/p"
    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-4.3.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
        
    <!-- 读取db.properties 
    <context:property-placeholder location="db.properties"/>
-->	
	<!-- 配置数据源 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/itqs" />
		<property name="username" value="root" />
		<property name="password" value="123" />
	</bean>

	
    <!-- 配置SqlSessionFactory对象 --> 
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
<!--         <property name="configLocation" value="mybatis-config.xml"/> -->
        <property name="mapperLocations" value="com/sm/dao/*.xml"/>
<!--         <property name="typeAliasesPackage" value="com.sm.entity" /> -->
    </bean>
 

    <!--配置userMapper对象-->
    <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.sm.dao.UserDao"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>	
</beans>
                        

5. Classe de teste Test.java

package com.sm.test;


import java.util.List;

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

import com.sm.dao.UserDao;
import com.sm.entity.User;

public class Test1 {

	public static void main(String[] args) {
		
		//第一种写法
	    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
	    UserDao mapper = (UserDao)context.getBean("userMapper");
        User user = mapper.selectUserByID(18);
        System.out.println(user);
        
        //第二种写法
	    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
	    UserDao mapper1 = ctx.getBean("userMapper",UserDao.class);
        List<User> userlist = mapper1.selectUserByName("李");
        System.out.println(userlist);		

	}

}

6, efeito:

Acho que você gosta

Origin blog.csdn.net/wh445306/article/details/109395848
Recomendado
Clasificación