MyBatis入门案例(一)

MyBatis入门案例(一)

需求

实现以下功能:
根据用户id查询一个用户信息
根据用户名称模糊查询用户信息列表
添加用户
更新用户
删除用户

需求分析:

根据用户id查询一个用户信息:
SELECT * FROM USER WHERE id=1

根据用户名称模糊查询用户信息列表:
SELECT * FROM USER WHERE username LIKE '%张%'

根据用户id查询一个用户信息

  • SqlMapConfig.xml

    此方法为mybatis的全局配置文件,配置了数据源、事务等运行环境,加载配置mapper.xml映射。

    使用mybatis-3-config.dtd约束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">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url"
                    value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="123" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载mapper.xml -->
    <!-- <mappers></mappers> -->


</configuration>
  • mapper.xml映射文件

    早期ibatis的映射文件以表名命名,后期mybatis 映射文件命名方式为:表名Mapper.xml。。
    命名方式是不固定的。

    映射文件使用mybatis-3-mapper.dtd
    这里写图片描述

    • pojo
      resultType:将sql查询结果集映射成java对象
      将多个列的值映射到一个对象中,需要定义的pojo,resultType映射规则是sql查询列名和pojo的属性名必须一致方可完成映射。
      这里写图片描述

    • mapper.xml
      这里写图片描述

  • 在SqlMapConfig.xml加载映射文件
    编辑SqlMapConfig.xml,加载User.xml映射文件
    这里写图片描述

代码实现

@Test
    public void testFindUserById()throws Exception{

        //mybatis全局配置文件
        String resource = "SqlMapConfig.xml";

        //根据mybatis的全局配置文件构造 一个流
        InputStream inputStream = Resources.getResourceAsStream(resource);

        //创建SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //创建SqlSession会话

        SqlSession sqlSession = sqlSessionFactory.openSession();

        //使用sqlSession查询用户
        //第一个参数:statement的id,前边要加namespace
        //第二个参数:输入的参数对象值
        //selectOne用于返回单个对象,如果sql查询返回一个列表(多个对象),如果使用selectOne报错
        User user = sqlSession.selectOne("test.findUserById", 1);
        System.out.println(user);

        //关闭sqlsession
        sqlSession.close();

    }

调试控制台结果显示
这里写图片描述

想看后续,请看 MyBatis入门案例(二)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值