• 05 MyBatis——环境搭建及demo


    0 本文demo下载地址

    链接:https://pan.baidu.com/s/1qrOt6pg1LlirX4s3I44ATQ
    提取码:a62x

    1 下载地址

    http://qunying2.jb51.net:81/201905/tools/mybatis_jb51.rar

    2 引入MyBatis的jar包及依赖包

    在粘贴到lib下builde Path即可。

    内部包说明

    3 在src下新建全局配置文件

    配置文件即xml文件,主要用于存储连接数据库的四个变量(driver,url,user,password)。

    配置文件名没有要求(比如MyBatis.xml),地址也是。

    3.1 在全局配置文件中引入DTD或schema(不导就没有提示(直接按alt+/)):

    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
    

      

    3.1.1 如果按上面这样导了网络资源还是没有提示,就手动导入本地资源:window->preference->xml->xml catalog->add->浏览本地文件:mybatis-3-config.dtd

    3.2 全局配置文件内容

    千万注意!以下代码请直接复制使用,多一个空格都会报错,而且不告诉你错在哪儿,比如:第一个感叹号前后无空格。

    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    

      

    完整配置示例:

    <?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>
    	<!-- default引用environment的id,当前所使用的环境 -->    
    	<environments default="default">
    	    <!-- 声明可以使用的环境 -->
    		<environment id="default">
    		    <!-- 使用原生JDBC事务 -->
    		    <transactionManager type="JDBC"></transactionManager>
    		    <dataSource type="POOOLED">
    		        <property name="driver" value="com.mysql.jdbc.Driver"/>
    		        <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
    		        <property name="username" value="root"/>
    		        <property name="password" value="xiaohei1120"/>
    		    </dataSource>
    		</environment>	    
    	</environments>
    	<mappers>
    	    <mapper resource = "cn/xiaohei/mapper/FlowerMapper.xml"/>
    	</mappers>
    </configuration>
    

      

    3.2.1<transactionManager/>type属性的可取纸

    • JDBC:事务管理使用JDBC原生事务管理方式
    • MANAGED:把事务管理转交给其它容器

    3.2.2 <dataSource> type属性

    • POOLED 使用数据库连接池
    • UNPOOLED 不适用数据库连接池
    • JNDI :java命名目录接口

    3.3 重要:Mapper示例

    在原式mvc模式中,我们又dao包(接口)和daoImpl包。在MyBatis中,无需使用dao包和daoImpl包,而改用mapper包,包中写xml文件,相当于daoImpl中的实现类。

    通过一定的机制,MyBatis解析这些xml文件作为与数据库操作的的接口。

    举个例子:Flower为一个实例,要写它的怎删改查方法,只需要写在对象的实体名+Mapper.xml文件中即可,如下:

     重要注意!以下部分代码请直接复制粘贴使用,多写一个空格都会报错,血的领悟。另:id不能重复,不能留空,不然也报错!

    <!DOCTYPE mapper
     PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    

      

    完整示例代码:

    <?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:理解为daoImpl实现类的全路径(包名+类名) -->
    <mapper namespace="cn.xiaohei.mapper.FlowerMapper">
        <!--
        	查询:select标签 
        	id:方法名
        	parameterType:定义参数类型
        	resultType:定义返回值类型(包名+类名)
        	如果返回值是list,在resultType中写List的泛型
         -->
         <select id="selAll" resultType="cn.xiaohei.pojo.Flower">
    		select * from flower         
         </select>
         <!-- 新增标签 -->
         <!-- 注意!Id不能重复,即使留空都算重复!!!!!!!!! -->
         <insert id="1"></insert>
         <!-- 删除 -->
         <delete id="2"></delete>
         <!-- 改 -->
         <update id="3"></update>
    </mapper>
    

      

    4 测试配置是否成功的代码

    package cn.xiaohei.test;
    
    import java.io.InputStream;
    import java.util.List;
    
    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 cn.xiaohei.pojo.Flower;
    
    public class Test {
    	public static void main(String[] args) throws Exception {
    		InputStream is = Resources.getResourceAsStream("MyBatis.xml");
    		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    		//生产SQLSession
    		SqlSession session = factory.openSession(); 
    		//调用方法:包名.类名.方法名(id)
    		List<Flower> list = session.selectList("cn.xiaohei.mapper.FlowerMapper.selAll");
    		System.out.println(list);
    	}
    }
    

      

      

  • 相关阅读:
    CodeForces 52B Right Triangles 矩阵上的计数
    电影节
    怎样高速生成随机数
    VS2010版快捷键
    两个下拉框选择后取出这两个框的区间值
    vs操作快捷键
    输入框限制,条件是左边输入框输入的数字要小于右边输入框的值,两边输入框要为整型数字。
    DateTime.Parse
    清空文本输入框的值
    sql 随机函数newid()
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12404187.html
Copyright © 2020-2023  润新知