第一个Mybatis

来源:互联网 发布:索隆vs熊 知乎 编辑:程序博客网 时间:2024/06/01 07:43

第一个Mybatis的项目构建

第一步

导入Mybatis的jar包(在maven中心仓库搜索Mybatis下载即可,Mybatis的jar包很简单仅仅只有一个)

mybatis-3.2.3.jar

第二步

配置Mybatis的全局xml文件

mybatis-config.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"><!-- Mybatis全局配置文件 --><configuration><environments default="development"><environment id="development"><!-- 事务管理器 --><transactionManager type="JDBC"></transactionManager><!-- 数据源-连接池 --><dataSource type="POOLED"><property name="driver" value="org.gjt.mm.mysql.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments><mappers><!-- 需要映射的mybatis路径 --><mapper resource="com/chy/dao/user-mapper.xml" /></mappers></configuration>

第三步

构建基本项目结构


UserDao接口类代码

package com.chy.dao;import java.util.List;import com.chy.ro.UserRo;public interface UserDao {/** * 查询所有的用户 */List<UserRo> selectAllUser();}

UserRo类代码(省略getter、setter、toString代码)

public class UserRo {private Integer userId;private String userName;private Integer userMoney;}

第四步

由于构建Mybatis的SqlSession的获取方法相同,所有封装一个获取SqlSession对象的方法类

MybaitsUtil类代码

package util;import java.io.IOException;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MybatisUtil {private static SqlSessionFactory sessionFactory;static{try {String resource="mybatis-config.xml";//找到mybatis的全局配置文件InputStream inputStream = Resources.getResourceAsStream(resource);//读取mybatis的全局配置文件//创建SqlSession的建造工厂SqlSessionFactoryBuilder sessionFactoryBuild=new SqlSessionFactoryBuilder();sessionFactory = sessionFactoryBuild.build(inputStream);//把读取到的文件放入工厂进行解析} catch (IOException e) {System.out.println("文件找不到,读取失败!");e.printStackTrace();}}/** * 获取Mybatis Session */public static SqlSession getSession(){return sessionFactory.openSession();}}

第五步

写UserDao接口的实现类

UserDaoMybaitsImpl类代码(没有考虑异常,如果有,我相信你知道如何解决)

package com.chy.dao.impl;import java.util.List;import org.apache.ibatis.session.SqlSession;import util.MybatisUtil;import com.chy.dao.UserDao;import com.chy.ro.UserRo;public class UserDaoMybatisImpl implements UserDao {@Overridepublic List<UserRo> selectAllUser() {SqlSession session = MybatisUtil.getSession();List<UserRo> selectList = session.selectList("selectAllUser");session.close();return selectList;}}

第六步

写上mybatis的局部映射

user-mapper.xml代码

<?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 namespace="com.chy.UserDao"><!-- 这里的id对应的是接口的方法名字(行业推荐) --><select id="selectAllUser" resultType="com.chy.ro.UserRo">select * from user</select></mapper>


第七步

在这我为了方便直接使用junit工具写的测试

TestMybatis类代码

package com.chy.test;import java.util.List;import org.junit.Test;import com.chy.dao.UserDao;import com.chy.dao.impl.UserDaoMybatisImpl;import com.chy.ro.UserRo;public class TestMybatis {@Testpublic void SelectAll(){UserDao dao=new UserDaoMybatisImpl();List<UserRo> selectAllUser = dao.selectAllUser();System.out.println(selectAllUser);}}

最后的运行结果



PS:如果运行结果是地址而不是数据,请检查是否Ro类重写toString方法

原创粉丝点击