• MyBatis基本使用步骤


             MyBatis是一个数据持久层(ORM)框架。把实体 类和SQL语句之间建立了映射关系,是一种半自 动化的ORM实现。MyBATIS需要开发人员自己来写sql语句,这可以增加了程序的灵活性,在一定程度上可以作为ORM的一种补充。

    什么情况下不适合全自动化框架:

    1)系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开;

    2)开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定);

    3)系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。

    MyBatis基本要素:

    1.  configuration.xml 全局配置文件

    2.  xml映射文件(mapper)—实体类

    3.  SqlSession接口

    使用准备工作:

    1.  需要的jar包:mybatis-3.2.2.jar,mysql-connector-java-5.1.26-bin.jar;

    2.  在eclipse中添加相关的dtd文件(XML Catalog): mybatis-3-config.dtd,mybatis-3-mapper.dtd,方便创建xml配置文件,注意dtd文件不要放在中文目录下;

    Key:-//mybatis.org//DTD Config 3.0//EN

    -//mybatis.org//DTDMapper 3.0//EN

    3.  创建核心配置文件mybatis.xml,放在src目录下;

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
    <configuration>
    	<!-- 类型别名设置 -->
    	<typeAliases>
    		<typeAlias alias="Stu" type="com.it.entity.Stu"/>
    	</typeAliases>
    	<environments default="xx">
    		<environment id="xx">
    			<!-- 事务管理 -->
    			<transactionManager type="jdbc"/>
    			<!-- 数据库连接池 -->
    			<dataSource type="pooled">
    				<property name="driver" value="com.mysql.jdbc.Driver"/>
    				<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
    				<property name="username" value="root"/>
    				<property name="password" value="ok"/>
    			</dataSource>
    		</environment>
    	</environments>
    	<mappers>
    		<!-- 对应实体类的映射文件路径 -->
    		<mapper resource="com/it/entity/Stu.xml"/>
    	</mappers>
    </configuration>
    

    4.  创建实体类(POJO)--Stu.java

    5.  创建与之对应的映射文件Stu.xml,与实体类在同一个目录下

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
    <mapper namespace="stu">
    	<select id="findAll" resultType="Stu">
    		select * from stu
    	</select>
    </mapper>
    

    6.  创建测试类

    public class Test {
    
    	public static void findAll() {
    		try {
    			Reader reader = Resources.getResourceAsReader("mybatis.xml");
    			// 工厂
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder()
    					.build(reader);
    			// session
    			SqlSession session = factory.openSession();
    			List<Stu> ls = session.selectList("stu.findAll");
    			for (Stu s : ls) {
    				System.out.println(s.getSid() + "	" + s.getSname() + "	"
    						+ s.getSsex() + "	" + s.getSbirth());
    			}
    			// close
    			session.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public static void main(String[] args) {
    		findAll();
    	}
    
    }
    




  • 相关阅读:
    JAVA NIO之文件通道
    Java NIO之缓冲区
    LinkedList 源码分析(JDK 1.8)
    ArrayList 源码详细分析
    自己动手实现一个简单的JSON解析器
    科普:String hashCode 方法为什么选择数字31作为乘子
    LinkedHashMap 源码详细分析(JDK1.8)
    HashMap 源码详细分析(JDK1.8)
    python创建目录
    python3 内置方法 字符串转换为字典
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537414.html
Copyright © 2020-2023  润新知