MyBatis入门案例

1.首先引入所需jar包(这些jar包都是从Mybatis网站上下载的,我在这里将其全部导入进来。在后期用Maven开发项目时,就不需要向这样导入jar包了)

项目结构:



编写持久层我个人一般都是从  实体类-->映射关系-->通过实体类操作数据库  。

1.实体类:(数据表的创建略)
public class User {

    private int id;
    private String name;
    private String password;
  //省略对应set()、get()方法
}

2.映射文件:(该文件一般与mapper接口放在一起)

<?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">
    <!-- 此处的命名空间是遵循一定规则的(命名空间值为mapper接口的全限定名),适用于Mybatis代理的方式开发 -->
    <mapper namespace="com.lin.mapper.UserMapper">
    <!-- 在映射文件中配置sql语句 -->
    <!-- 通过select执行数据库查询 -->
    <select id="findUserById" parameterType="int" resultType="user">
        select * from user
            where id=#{id}
    </select>

</mapper>

3.MyBatis的全局配置信息:(该文件在Mybatis与spring整合时不再使用,在此故只做简单了解即可)

<?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>
    <!-- 定义别名 -->
    <typeAliases>  <typeAlias type="com.lin.entity.User" alias="user"/>  </typeAliases>
    <!-- 定义数据库信息,默认使用development数据库构建环境 -->
    <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"/>
                <property name="username" value="root"/>
                <property name="password" value="546784"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 定义映射器,加载映射文件 -->
    <mappers>
        <mapper resource="com/lin/mapper/UserMapper.xml"/>
    </mappers>  
</configuration>

4.mapper接口:
/**创建Mapper接口(相当于Dao接口),按照一定的规则编写方法,就可以使用MyBatis代理方式操作对象 * */
public interface UserMapper {
    //根据用户id查询用户信息
    public User findUserById(int id) throws Exception;   
}

4.测试类:


public class MybatisTest {
    
    //根据用户id查询用户信息
    @Test
    public void findUserById() throws Exception {
        //ͨ定义SqlSession
        SqlSession sqlSession = null;
        try {
            //读取MyBatis的全局配置文件
            String resource = "mybatis/mybatis-config.xml";
            //读取MyBatis的全局配置文件
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //根据流对象获取会话工厂sqlSessionFactory
            SqlSessionFactory  sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //创建会话sqlSession
            sqlSession = sqlSessionFactory.openSession();
            //通过sqlSession执行对数据库的相关操作
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            User user = userMapper.findUserById(1);
            
            System.out.println(user.getName());
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //关闭会话
            sqlSession.close();
        }
        
    }
}


总结:一个MyBatis的入门程序还是相对简单的,但是要注意的就是如果想使用mapper代理的方式,还是要多注意细节,像是命名空间,还有映射的参数,这些都需要注意。。最近是在看 视频教程,今天看到mybatis中最关键的 输入映射 和 输出映射 ,还有后续的缓存什么的好像都是相对复杂点的,后面再慢慢学习总结。。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值