MyBatis注意事项

CRUD

1、namespace

namespace中的包名要和Dao/mapper接口的包名一致

2、select

选择,查询语句;
id:就是对应的namespace中的方法名
resultType:Sql语句执行的返回值!
parameterType:参数类型

实现增删改查就是添加响应的接口方法,修改对应的mapper。最重要的一点是增删改需要提交事务

 @Test
    public void insertUser() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);

        int k = mapper.insertUser(new User(4, "老六", "666666"));
        if(k > 0) {
            System.out.println("插入成功!");
        }
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }

Map使用

假设,实体类,或者数据库中的表,字段或者参数过多,应当考虑使用Map!

int addUser(Map<String, Object> map);
<insert id="addUser" parameterType="map">
        insert into bjw.user (id, pwd) values (#{userid},#{passWord})
    </insert>
 @Test
    public void addUser() {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);

        Map<String, Object> map = new HashMap<String, Object>();

        map.put("userid",5);
        map.put("passWord","222233");

        mapper.addUser(map);

        sqlSession.commit();
        sqlSession.close();
    }

结果

1,狂神,123456
2,张三,123456
3,李四,123456
4,老六,666666
5,null,222233

Map传递参数,直接在sql中取出key即可!
对象传递参数,直接在sql中取对象的属性即可!
只有一个基本类型参数的情况下,可以直接在sql中取到!
多个参数用Map

配置解析

1、核心配置文件

~ MyBatis

configuration(配置)
properties(属性)
settings(设置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境配置)
environment(环境变量)
transactionManager(事务管理器)
dataSource(数据源)
databaseIdProvider(数据库厂商标识)
mappers(映射器)

属性优化、别名优化、设置等的内容,详见Mybatis官网
Mybatis官网

映射器(mappers)

MapperRegistry:注册绑定我们的Mapper文件
方式一:【推荐使用】

<mappers>
    <mapper resource="com/bjw/dao/UserMapper.xml"/>
</mappers>

方式二:使用class文件绑定注册

<mappers>
    <mapper class="com.bjw.dao.UserDao"/>
</mappers>

注意点:
~接口和它的mapper配置文件必须同名
~接口和它的mapper配置文件必须在同一个包下

方式三:使用扫描包进行注入绑定

<mappers>
    <package name="com.bjw.dao"/>
</mappers>

注意点:
~接口和它的mapper配置文件必须同名
~接口和它的mapper配置文件必须在同一个包下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

协奏曲❤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值