Mybatis自学日志02

模糊查询

map
接口UserDao

//万能的Map插入一个用户
void addUser2(Map<String,Object>map);

实现类UserDaoImpl

@Override
public void addUser2(Map<String, Object> map) {

}

Mybatis工具类MybatisUtils

package com.tjrac.utils;
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 java.io.IOException;
import java.io.InputStream;
//sqlSessionFactory->sqlSession
public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //获取sqlSessionFactory对象
            String resource="mybatis-config.xml";
            InputStream inputStream= Resources.getResourceAsStream(resource);
            sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //既然优势sqlSessionFactory,我们就可以从中获取SqlSession的实例了。
    //SqlSession包含的SQL命令所需的所有方法。
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

UserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE mapper
                PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <!--mybatis的核心配置文件是有一定顺序的 -->
<!--
id:就是对应的namesoace方法名
resultType:Sql语句执行的返回方法


-->
<mapper namespace="com.tjrac.dao.UserDao"> 
    <insert id="addUser2" parameterType="map">
        insert into mybatis.user (id, name, paw)  value (#{userid},#{username},#{userpaw});
    </insert>
</mapper>

测试类UserDaoTest

package com.tjrac.dao;
import com.tjrac.pogo.User;
import com.tjrac.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserDaoTest {
    @Test
    public void upUser2(){
        //第一步:获取SqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        //第二步:执行SQL
        UserDao userDao= sqlSession.getMapper(UserDao.class);
        Map<String,Object> map =new HashMap<String,Object>();
        map.put("userid","5");
        map.put("username","郑承");
        map.put("userpaw","456789");
        userDao.addUser2(map);
        //提交事务,很重要
        sqlSession.commit();
        sqlSession.close();
    }
}

Map传递参数,直接在sql中取出Key!【parameterType=“map”】
对象传递参数,直接sql中取对象的属性即可!【parameterType=“Object”】
只有一个类型基本参数的情况下,可以直接取到!
多个参数用Map或注解

线程的状态

在这里插入图片描述

四级标题 配置解析

核心配置文件
mybatis-config.xml

发布了20 篇原创文章 · 获赞 0 · 访问量 197

猜你喜欢

转载自blog.csdn.net/qq_43697752/article/details/103699220
今日推荐