MyBatis基础配置详解

一、什么是MyBatis
1.MyBatis的前身是IBatis
2.MyBatis主要用于操作数据库。
二、配置MyBatis
1.配置config,用于连接数据库。

<?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>
	<!-- 环境 -->
	<environments default="developments">
	<!--给他的环境取个名字-->
		<environment id="mysql">
			<transactionManager type="JDBC"></transactionManager>
			<!-- 输入四大参数-->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://127.0.0.1:3306/test111"/>
				<property name="username" value="root" />
				<property name="password" value="111" />
			</dataSource>
		</environment>
	</environments>
</configuration>

2.配置操作数据库的映射文件(比如专门用来操作User的user.xml)
2.1先将这个xml文件配置到config中,读取config时会加载到内存中去。

<!--与environments同级-->
<mappers>
		<mapper resource="该xml文件的地址" />
</mappers>

2.2

<?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.model.system.User">
	<!-- 设置一个resultMap返回值,id是user-- type是user的实体类的src>
	<resultMap type="com.model.system.User" id="user">
	<!-- 列与属性对应-->
		<result column="user_id" property="userId" />
		<result column="user_name" property="userName" />
		<result column="user_sex" property="userSex" />
		<result column="user_age" property="userAge" />
		<result column="user_brithday" property="userBrithday" />
	</resultMap>
	<!-- 查询用户通过用户ID -->
	<select id="queryUserByUserId" parameterType="java.lang.Integer"
		resultMap="user">
		select * from user where user_id = #{userId}
	</select>
</mapper>

三、使用MyBatis
1、根据config文件得到sqlSessionFactory对象

           //找到这个配置数据库的xml文件
			String resource = "mybatis-config.xml";
			//创建流
			Reader reader = Resources.getResourceAsReader(resource);
			//得到这个工厂对象,第二个参数是环境id号
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"mysql");

2、根据sqlSessionFactory对象得到sqlSession对象

//得到了session对象
SqlSession session = sqlSessionFactory.openSession();

3、通过SqlSession对象来执行操作数据库。

//第一个参数:该mapper的名字
//第二个参数:传入的参数
session.insert("FirstUser.addUser", u);

四、mapper里面的增删改查函数
select–>查询
delete–>删除
insert–>插入
upadate–>更新

//id为方法名      resultMap为返回类型 parameterType为参数类型
  <select id="selectByPrimaryKey" resultMap="BaseResultMap"                 parameterType="java.lang.Integer" >
    select * from sys_menu where menu_id = #{menuId,jdbcType=INTEGER}
  </select>

五、myBtis使用Mapper
在mybatis-config.xml文件同样配置该mapper

<mappers>
		<mapper resource="com/fs/system/mapper/User.xml"/>
	</mappers>
<mapper namespace="com.fs.system.dao.UserMapper">
此时的这个nameplace必须为该Dao的地址

六、ORM映射
1.安装插件 MyBatis Generator
2.new MyBatis Generator文件
3.配置这个文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
<generatorConfiguration>
	<!-- 配置驱动 -->
	<classPathEntry location="D:\programmingRelated\SoftwareInstallation\mysql-connector-java-5.1.7-bin\mysql-connector-java-5.1.7-bin.jar" />

	<context id="context1">
		<commentGenerator>
			<property name="suppressDate" value="true" />
			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
			<property name="suppressAllComments" value="true" />
		</commentGenerator>
		<!--配置你的数据库-->
		<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/xxx" userId="root" password="root" />
		<!-- 1、领域模型 -->
		<javaModelGenerator targetPackage="你想配置到的类中" targetProject="目标项目" />
		<!-- 2、xml文件 -->
		<sqlMapGenerator targetPackage="你想配置到的类中" targetProject="目标项目" />
		<!-- 3、接口 -->
		<javaClientGenerator targetPackage="你想配置到的类中" targetProject="目标项目" type="XMLMAPPER" />
	<!-- 4、配置表-->
		<table tableName="表名" domainObjectName="实体类名" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
			selectByExampleQueryId="false"></table>
	</context>
</generatorConfiguration>

七、MyBatis底层运用
1.SqlSessionFactoryBuilder读取配置文件创建了SqlSessionFactory对象

//参数1->读取配置文件的字符流 参数2->环境id
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,"mysql");

2.通过SqlSessionFactory来获取SqlSession对象

SqlSession session = sqlSessionFactory.openSession();

3.通过这个SqlSession这个对象来执行方法或者得到DaoMapper对象。

UserMapper mapper = session.getMapper(UserMapper.class);

4.通过这个mapper来执行方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值