码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis

时间:2019-08-11 23:32:00      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:factor   开发   version   span   http   gen   blog   开始   util   

因为一开始学的不是太好,从头缕一遍ssm开发,发现ssm并不是刚开始学的那么难以理解了

这个项目是一个简单的web工程

单纯的mybatis项目需要两个配置文件

一。数据源配置文件

这个文件是配置数据库的文件,首先创建一个web项目,在src同级目录下新建一个文件夹,我这里以config为例,在这个文件夹下创建一个sqlMapConfig.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>
    <!-- 和spring整合后environments配置将废除 -->
    <environments default="development">
        <environment id="development">
            <!-- shiyong使用jdbc事务管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    
    <!-- 查找sql映射文件 -->
    <mappers>
    <mapper resource="mapper/CustomerMapper.xml"/>
    </mappers>
</configuration>

二。第二个配置文件就是存放sql语句的文件,可以再congfig文件夹下面再创建一个文件夹,我这里创建的是mapper文件夹,文件名是CustomerMapper,这个配置文件和dao层的接口是相对应的,同时这个配置文件需要集成(也可以说是注入)到数据库配置文件中

<?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">
<!-- 该文件主要是编写mybaties中的mapper接口里面的方法提供对应的sql语句 -->
<!--这里的namespace指的是dao层接口的全名称--> <mapper namespace="dao.SaveUsersss"> <!-- 添加客户 --> <!--id指的是dao层接口的方法名,parameterType:传入的参数名称--> <insert id="saveUsers" parameterType="java.util.List"> insert into ssm.t_customer(name,gender,telephone,address) values
    <!--collection=""具体里面写入什么值,根据传递过来的参数而定,若是数组,则用array-->
    <!--具体的请参考:https://www.cnblogs.com/yy3b2007com/p/10417242.html#autoid-3-0-0,里面介绍的挺详细-->
      <!--collection="list"表示这个传过来额参数为List集合,item:每一次遍历获得的结果对象,separator=",":每一次遍历的结果用","隔开-->
<foreach collection="list" item="HAHA" index="index" separator=","> ( #{HAHA.name}, #{HAHA.gender}, #{HAHA.telephone}, #{HAHA.address} ) </foreach> </insert>

  <!-- 查询 -->

  <!--resultType:返回的结果集-->
  <select id="saveMessage" resultType="entity.UserEntity"
    parameterType="java.util.List">
    select * from ssm.t_customer where id in

      <!--open:遍历过程中以什么开始,close:遍历过程中以什么结束-->
      <foreach item="item" index="index" collection="list" open="("
        separator="," close=")">
        #{item}
      </foreach>
  </select>

</mapper>

 

测试代码:

package mytest;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import dao.UserMapper;
import entity.UserEntity;

public class MyTest {
//    private SqlSessionFactoryBuilder sqlSessionFactoryBuilder;

    @Test
    public void getMessage() throws IOException{
        //1创建sqlsessionfactorybuild
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //2读取mybatis配置文件
        InputStream inputStream = Resources.getResourceAsStream("myMapConfig.xml");
        //3创建sqlsessionfactory
        SqlSessionFactory build = sqlSessionFactoryBuilder.build(inputStream);
        //4打开session
        SqlSession openSession = build.openSession();
        
        //5获取Mapper接口对象,接收CustomerMapper生成的代理类对象
        UserMapper mapper = openSession.getMapper(UserMapper.class);
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        List<UserEntity> saveMessage = mapper.saveMessage(list);

        System.out.println(saveMessage);
        //提交事务
        openSession.commit();
        //关闭连接
        openSession.close();
    }
}

 熟悉测试代码,对于 mybatis-spring 的整合大有帮助

mybatis

标签:factor   开发   version   span   http   gen   blog   开始   util   

原文地址:https://www.cnblogs.com/gxlaqj/p/11337114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!