MyBatis框架基础教学(一)

本文介绍了MyBatis框架的基本概念及优势,详细讲解了环境搭建步骤,并提供了mybatis-config.xml和db.properties配置文件的具体配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、MyBatis框架介绍

         (1)MyBatis的前身是iBatis,本是Apache的一个开源的项目

         (2)MyBatis是一个数据持久层(ORM)框架,把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现

         (3)MyBatis小巧,简单易学

         (4)优点

                     1、与JDBC相比,减少了50%以上的代码量

                     2、最简单的持久化框架,小巧并简单易学

                     3、SQL代码从程序代码中彻底分离,可重用

                     4、提供XML标签,支持编写动态SQL

           (5)缺点

                      1、SQL语句编写工作量大,对开发人员有一定要求

                      2、数据库移植性差

二、MyBatis环境搭建

  (1)下载MyBatis的jar包

             1、跟其他开源框架一样,我们需要下载对应的jar包后才能使用

             2、MyBatis的jar包下载地址:https://github.com/mybatis/mybatis-3/releases

             3、在线中文帮助文档:http://www.mybatis.org/mybatis-3/zh/index.html

  (2)项目搭建

           1、打开Eclipse,创建一个java项目

           2、解压下载好的最新版mybatis.zip压缩包,(我这里最新版的是mybatis-3.4.5.zip),找到里面的mybatis-3.4.5.jar

           3、在java项目中新建一个lib文件夹,把mybatis-3.4.5.jar复制到lib文件夹中,并右键mybatis-3.4.5.jar,选择Bulid Path中的Add to Build Path

           4、因为MyBatis是ORM框架,所以少不了数据库,把mysql-connector-java-5.1.44-bin.jar复制到lib文件夹中,右键mysql-connector-java-5.1.44-bin.jar,选择Bulid Path中的Add to Build Path  (没有数据库驱动jar包的朋友,这里有链接,可以自行下载        https://pan.baidu.com/s/1GXobITxEY-SfsWOxRa5yNw )

三、使用MyBatis

     (1)在java项目中新建一个config 资源文件夹Source Folder,用于存放各种配置文件

     (2)mybatis-config.xml 的配置

           1、在config资源文件夹下创建一个 mybatis-config.xml

           2、核心配置文件 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">
<configuration>
	
    <!-- 引入 数据库连接所需四个参数的 db.properties参数配置文件 -->
    <properties resource="db.properties"></properties>
       
    <settings>
        <!-- 这个配置使全局的映射器启用或禁用缓存-->
		<setting name="cacheEnabled" value="true" />
		<setting name="logImpl" value="LOG4J" />
		<!-- PARTIAL 只会自动映射简单, 没有嵌套的结果。 FULL 会自动映射任意复杂的结果(嵌套的或其他情况) -->
		<setting name="autoMappingBehavior" value="FULL" />
	</settings>


    <!-- 设置别名  类型别名是为 Java 类型设置一个短的名字,可以方便我们引用某个类 -->
    <typeAliases>
	  <package name="com.mybatis.bean"/>
	</typeAliases>

    <!-- 工作环境,默认是开发者模式 -->
	<environments default="development">
		<!-- 配制工作环境为开发者模式,可配制多个 -->
		<environment id="development">
			<!-- 采用jdbc的事务管理 -->
			<transactionManager type="JDBC" />
			<!-- 配置数据源 -->
			<dataSource type="POOLED">
                <!-- 数据库驱动 -->
		        <property name="driver" value="${driver}" />
                <!-- 数据库路径 -->
				<property name="url" value="${url}" />
                <!-- 数据库的用户名 -->
				<property name="username" value="${username}" />
                <!-- 数据库的密码 -->
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<!-- mapping 文件路径配置  -->
	<mappers>
		<package name="com.mybatis.dao"/>
	</mappers>
</configuration>

       (3)db.properties参数配置文件配置

                1、在config资源文件夹下,新建一个File文件,名称命名为db.properties 

                2、参数配置如下

                            driver=com.mysql.jdbc.Driver

                            url=jdbc:mysql://localhost:3306/数据库名?useSSL=true&allowMultiQueries=true (数据库名表示你要用哪个数据库,这里我用的数据库是smbms,  即jdbc:mysql://localhost:3306/smbms?useSSL=true&allowMultiQueries=true)

                            username=root         (数据库用户名)

                            password=你自己数据库的密码            (数据库密码)

             3、如下图所示 (这里我的数据库是没有密码的,所以可以不写

            

     (4)创建实体类,实体类的字段名要与数据库的字段名一致

     (5)Sql映射文件配置

              1、在config资源文件夹下,创建一个与你dao层同名的包,例如:你在src资源文件夹下dao层的包名叫com.mybatis.dao,那么你在config资源文件夹下的包名也要叫com.mybatis.dao

                     2、创建一个与你在src资源文件夹dao层下同接口类名的xml文件,例如:你在src资源文件夹dao层下的接口类名叫UserMapper.java,那么你在config资源文件夹dao层的映射文件也要叫UserMapper.xml  (注意在src资源文件夹dao层下的接口类名的后缀是.java,而config资源文件夹dao层下的映射文件后缀为.xml,只是名称相同,后缀不相同)

                    3、映射文件的配置

                         

<?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">

<!-- namespace的值为你src资源文件夹dao层下UserMapper的全路径  --> 
<mapper namespace="com.mybatis.dao.UserMapper">
    <!-- mapper中写你的sql语句  --> 
    <!-- sql语句中的id,要与你src资源文件夹dao层下UserMapper接口中声明的抽象方法名一致  --> 
	
	<select id="selectUserById" parameterType="java.lang.Integer" resultMap="userMap">
	    select * from smbms_user where id = #{id}
	</select>
	
    <insert id="addUser" parameterType="User">
       insert into smbms_user(id,userCode,userName,userPassword) values(null,#{userCode},#{userName},#{userPassword})
    </insert>
    
    <update id="updateUser" parameterType="User">
       update smbms_user set userPassword = #{userPassword} where id = #{id}
    </update>
    
    <delete id="deleteUser" parameterType="_int">
        delete from smbms_user where id = #{id}; 
    </delete>
   
</mapper>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值