一个简单的mybatis demo实现
Posted amcomputer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的mybatis demo实现相关的知识,希望对你有一定的参考价值。
数据库
项目目录:
mybatis-conf.xml文件内容:
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--核心配置环境-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="mysql"/>
</dataSource>
</environment>
</environments>
<!-- 每个maper.xml都需要到这里注册-->
<mappers>
<mapper resource="com/kuang/dao/UseMapper.xml"/>
</mappers>
</configuration>
mybatisUtil.java文件内容:
用来获取SqlSession对象,连接了数据库后,要记得关闭
package com.kuang.util;
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;
import java.io.Reader;
//获取ssqlSessionFactory对象
public class MybatisUtils {
public static SqlSessionFactory sqlSessionFactory;
//private static InputStream inputStream = null;
//private static SqlSessionFactory sqlSessionFactory;
static {
try {
//使用Mybatis第一步 获取sqlSessionFactory对象
String resource = "mybatis-conf.xml";
Reader resourceAsReader = Resources.getResourceAsReader(resource);
System.out.println(resource);
//SqlSessionFactory 出现问题
sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
System.out.println(resourceAsReader);
} catch (Exception e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession(){
SqlSession sqlSession= sqlSessionFactory.openSession();
return sqlSession;
}
}
UserDao或者UserMaper.java:
以后只知道负责写接口就好了,接口的实现放到xml文件里面去写
package com.kuang.dao;
import com.kuang.pojo.User;
import java.util.List;
//Dao==mapper
public interface UserDao {
public List<User> getUser();
}
接口的实现类,UserMapper
没有mybaits之前,是通过xxxImpl.java来实现
id="getUser"表示接口里面的方法
resultType=“com.kuang.pojo.User” sql执行后返回的类型
<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--命名空间需要绑定一个对应的Dao or Mapper接口-->
<!--以前需要写一个interface的实现类-->
<!--现在只配置文件即可-->
<!--下面就是接口实现类-->
<mapper namespace="com.kuang.dao.UserDao">
<select id="getUser" resultType="com.kuang.pojo.User" >
select * from mybatis.user
</select>
</mapper>
测试主类:
package com.kuang.dao;
import com.kuang.pojo.User;
import org.apache.ibatis.binding.MapperMethod;
import org.junit.Test;
import org.apache.ibatis.session.SqlSession;
import com.kuang.util.MybatisUtils;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
//1 获取SqlSession
SqlSession sqlSession= MybatisUtils.getSqlSession();
//方式1 getMapper
UserDao userDao=sqlSession.getMapper(com.kuang.dao.UserDao.class);
List<User> userDaos =userDao.getUser();
for (User user:userDaos) {
System.out.println(user.getId()+user.getName());
}
sqlSession.close();
}
}
以上是关于一个简单的mybatis demo实现的主要内容,如果未能解决你的问题,请参考以下文章
SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper
springboot+mybatis+swagger实现的Demo