Mybatis配置普通maven以及spring(无注解)

一,普通maven项目

1.导入myabtis依赖

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>

2.配置mybatis核心配置文件以及数据源(用于连接数据库的驱动,密码,配置事务等等)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--mybatis的核心配置文件-->

    <!--将数据源引入-->
    <!--引用配置文件-->
    <properties resource="db.properties"></properties>

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>

    <environments default="development">
        <!--s表示可以配置多套配置-->
        <environment id="development" >
            <!--事务管理 默认jdbc事务-->
            <transactionManager type="JDBC"/>
            <!--数据源,pooled连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/><!--安全连接-->
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!--每一个核心配置文件都要配置,即mapper.xml都要在核心配置文件中注册-->
        <mapper resource="com/lxyk/dao/UserDao.xml"/>
    </mappers>

</configuration>

一定要在核心配置文件中注册 

#我们的驱动是mysql
driver=com.mysql.jdbc.Driver  
#告诉程序,我们得mysql地址以及要操作的数据库
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8
username="****"
password="****"

3.通过工具类获取sqlsession

//工具类
//sqlSessionFactory
public class MybatisUtils {
  private static SqlSessionFactory sessionFactory;
  static {
    try {
      //通过工厂模式
      String resource = "mybatis-config.xml";
      InputStream resourceAsStream = Resources.getResourceAsStream(resource);
      //通过SqlSessionFactionBilder 获取SqlSessionFactory
      sessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }

  //既然有了SqlSessionFactory,我们变可以从中获得SqlSession
  //SqlSession 提供了在数据库执行 Sql命令所需的方法

  public static SqlSession getSqlSession(){
    return  sessionFactory.openSession(true);//true是自动提交事务
  }
}

4.编写接口mapper 以及mapper.xml

注意:

接口mapper与mapper.xml是通过mapper.xml文件中的

<mapper namespace="com.lxyk.dao.Userdao">

来进行绑定

mapper与mapper.xml文件通过xml映射器来进行绑定 

二,mybatis集成spring(不使用注解的方式)

要和 Spring 一起使用 MyBatis,需要在 Spring 应用上下文中定义至少两样东西:一个 SqlSessionFactory 和至少一个数据映射器类。

1.导入mybatis架包以及mybatis-spring整和包,

<dependency>
 <groupId>org.mybatis</groupId>
 <artifactId>mybatis-spring</artifactId>
 <version>2.0.2</version>
</dependency>

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>

注意spring与mybatis整合需要相应的版本来对应

相应的版本如下: 

2.在applicatio.bean中配置数据源

 <!--1.(以前我们的数据源),配置数据源 数据很多 Spring提供的JDBC-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/demo1?useSSL=true&amp;characterEncoding=UTF-8"/><!--安全连接-->
        <property name="username" value="****"/>
        <property name="password" value="****"/>
    </bean>
  
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--关联Mybatis-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!--配置-->
        <property name="mapperLocations" value="classpath:com/lxky/mapper/*.xml"/>
     </bean>

3.编写mybatis配置文件(以前我们将关于数据库的数据源,连接池,映射器等等写到该文件中,现在整合到application.xml文件中去)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration:核心配置文件-->
<configuration>


</configuration>

4.在Mybatis-Spring中,可使用SessionFactoryBean来创建SqlSesssionFactory。

现在要配置工厂bean,需要将sqlSessionFactorybean注入到bean容器中去,我们在application.xml文件中实现

<!--2.配置sqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--关联Mybatis-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!--配置-->
        <property name="mapperLocations" value="classpath:com/lxky/mapper/*.xml"/>
     </bean>

注意:在sqlSessionFactoryBean中,我们关联了数据源以及mybatis和映射器

5.编写编写了mapper接口以及mapper.xml文件,并将mapper接口注入进去

 <bean id="userMapper" class="com.lxky.mapper.UserMapperImpl" >
       <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

在userMapper中,我们绑定并配置了sqlsessionFactory

到此为止,我们的mybatis集成spring大体框架已经完成啦

6.直接测试

  @Test
    public void test01()
    {
        //获取Spring上下文对象
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

        UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
       userMapper.selectUser().forEach(System.out::println);
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值