新手入门教程之Mybatis
什么是Mybatis
MyBatis是一个持久层框架,它支持SQL、存储过程和映射。是一种半自动化的ORM框架,为什么叫半自动,Mybatis的参数是动态映射,但是其SQL语句是需要我们自己去编写的。
Mybatis在idea中的配置
导入依赖jar包
Mysql driver
Mybatis
核心配置:
在idea的setting窗口中选择
如果没有user,点击+新建
新建一个mbcnf在Template text:中输入:
<?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>
</configuration>
新建一个mbmapper,输入:
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>
</mapper>
然后再Mybatis.xml里配置文件,在此之前,需要在我们的maven quickstart工程目录下新建资源包resources,在资源包中新建配置文件datasource.properties和mybatis.xml(这里以我自己的idea为例)
在mybatis.xml中导入刚刚配置的mbcnf
entity是实体类包,其中是我们查询用的视图实体类,增删改用的数据表实体类
mapper是我们的mapper接口包,接口中是我们所用的方法,包括增删改查
在资源包resources下的mapper包中新建.xml文件,注意,此文件路径名须和mapper接口的外包名一致,文件名与mapper接口名一致如图:
然后我们在xml文件中导入mbmapper,可以开始编写SQL语句
Mapper配置文件中常用的标签
select id=”Mapper接口中方法名称” resultType=”返回自定义”/resultMap=””>...</select>
当数据库字段名称,类型和java实体类的属性名称类型不匹配时,用resultMap
<insert id="Mapper接口中的方法名称">...</insert>
<delete id="Mapper接口中的方法名称">...</delete >
<update id="Mapper接口中的方法名称">...</update >
<foreach collection="array/list/map" item="alias" open="开始标志"seprator="分隔符" close="结束标志"></foreach>
<where></where>去掉第一个and,以where代替
<set></set>去掉最后一个 ,
<if test"null != field">...</if>条件判断
Mybatis核心对象
1、配置文件解析
InputStream config = Resources.getResourceAsStream(String path);
2、SQL会话工厂
SqlSessionFactory factory = new SqlSessionFactoryBuikder().build(config);
3、SQL会话
SqlSession session = factory.openSession(true);
4、获取Mapper接口对象
XxxMapper mapper = session.getMapper(XxxMapper.class);
5、调用接口对象的方法,处理返回结果
注解Mapper
直接在mapper接口中的对应方法上加对应的SQL语句,用于简单的SQL命令
@Select(“SQL COMMAND”)
@Insert(“SQL COMMAND”)
@Update(“SQL COMMAND”)
@Delete(“SQL COMMAND”)
上一篇: DBSight 3.0.2发布,全文数据库搜索工具
下一篇: React新手入门教程