1、实现MyBatisUtil.java工具类
1.1、MyBatisUtil.java工具类
package com.fan.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.Reader;
public class MyBatisUtil {
private static SqlSessionFactory factory=null;
static {
try {
Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
factory= new SqlSessionFactoryBuilder().build(resourceAsReader);
} catch (IOException e) {
e.printStackTrace();
}
}
//获取sqlSession
public static SqlSession getSqlSession(){
return factory.openSession();
}
//关闭sqlSession
public static void closeSqlSession(SqlSession sqlSession){
if(sqlSession!=null){
sqlSession.close();
}
}
}
1.2、对MyBatisUtil.java工具类进行简单的测试
import com.fan.dao.UserDao;
import com.fan.entity.User;
import com.fan.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
public class TestMyBatisUtil {
public static void main(String[] args) {
//调用工具类中getSqlSession方法
SqlSession sqlSession = MyBatisUtil.getSqlSession();
UserDao userDaoMapper = sqlSession.getMapper(UserDao.class);
//插入一条数据
int i = userDaoMapper.addUser(new User(3, "王五", "男"));
sqlSession.commit();
System.out.println("插入成功"+i+"条");
//调用工具类中closeSqlSession方法
MyBatisUtil.closeSqlSession(sqlSession);
}
}
2、typeAliases元素
typeAliases元素的作用是配置类型的别名,通过与MyBatis的SQL映射文件相关联,减少输入多余的完整列名,以简化操作。
2.1、实例
这是之前我们在mapper文件中配置的查询语句
<!--根据id查询用户信息-->
<select id="findById" resultType="com.fan.entity.User">
select * from users where id=#{id1}
</select>
我们在mybatis-config.xml文件中添加typeAliases元素
<!--给com.fan.entity下的实体类使用别名-->
<typeAliases>
<package name="com.fan.entity"/>
</typeAliases>
那么mapper文件中的配置如下
<!--根据id查询用户信息-->
<select id="findById" resultType="User">
select * from users where id=#{id1}
</select>
网友评论