• MyBatis的基本用法


    MyBatis

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

    jar包和配置

    1.jar包必须包含mybatis(我用的mybatis-3.4.6.jar)还有数据库链接jar包(我用的mysql-connector-java-5.1.27.jar)。
    2.创建全局配置文件(随便取名:mybatis-config.xml),该文件的作用是用来对mybatis进行整体设置,并且配置连接数据库的数据源(DateSoure)。

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 这里的config表示这个配置文件是mybatis的整体配置文件 -->
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <!-- 配置数据库的参数从哪里读取 -->
    <properties resource="db.properties"/>
    <!-- 设置数据类型别名 -->
    <typeAliases>
    	<typeAlias type="com.xj.dao.User" alias="user"/>
    </typeAliases>
    	<!-- 数据库连接环境配置 -->
      <environments default="development">
        <environment id="development">
          <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>
      <!-- 连接映射配置 -->
      <mappers>
      		<mapper resource="com/xj/dao/IUserdao.xml"/>
      </mappers>
    </configuration>
    
    
    

    3.创建映射配置文件(取名IUserdao),并且在全局配置文件中连接此映射文件。

    <?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 必须和接口的全路径名称一致 -->
    <mapper namespace="com.xj.dao.IUserDao">
    	<!-- id必须和接口声明的方法一致 -->
    	<select id="query" resultType="user">
    		select * from t_user 
    	</select>
    	<insert id="add" parameterType="user">
    		insert into t_user(no,name,age) values(#{no},#{name},#{age}) 
    	</insert>
    	<update id="update" parameterType="user">
    		update t_user set name=#{name},age=#{age} where no = #{no} 
    	</update>
    	<delete id="delete" parameterType="int">
    		delete from t_user where no = #{no} 
    	</delete>
    </mapper>
    

    4.创建数据配置文件(db.properties),并且在全局配置文件(mybatis-config.xml)引用。

    #数据库配置
    
    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
    username=root
    password=619238
    

    测试

    @Test
    	public void test() throws Exception {
    		//1.通过resources对象加载全局配置文件
    		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
    		//2.通过加载后配置文件获取sqlsessionFactory
    		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
    		//3.通过sqlsessionFactory获取sqlsession对象,true表示开启事务自动提交,默认是false。
    		SqlSession session = factory.openSession(true);
    		User user = new User();
    		//4.session中的方法全是映射配置文件中namespace配置好的
    		List<User> list = session.selectList("xj.query", user);
    		System.out.println("查询:"+list);
    		int insert = session.insert("xj.add", new User(1009, "赵四", 39));
    		System.out.println("插入:"+insert);
    		int update = session.update("xj.update", new User(1009, "王五", 29));
    		System.out.println("修改:"+update);
    		int delete = session.delete("xj.delete",1005);
    		System.out.println("删除:"+delete);
    		//5.关闭数据链接
    		session.close();
    	}
    

    测试结果:
    在这里插入图片描述

  • 相关阅读:
    【HDOJ5971】Wrestling Match(二分图,并查集)
    【HDOJ5978】To begin or not to begin(概率)
    【HDOJ5979】Convex(三角函数)
    【HDOJ5980】Find Small A(签到)
    【HDOJ5949】Relative atomic mass(签到)
    【HDOJ5948】Thickest Burger(签到)
    【HDOJ6228】Tree(树)
    【HDOJ6227】Rabbits(贪心)
    147.命题逻辑
    146.离散数学
  • 原文地址:https://www.cnblogs.com/xj619/p/11172458.html
Copyright © 2020-2023  润新知