zoukankan      html  css  js  c++  java
  • Mybatis学习(一)

          MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

          MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。

          MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.

    快速入门示例:

    1、引入需要的jar包

    • mybatis
    • MYSQL驱动包

    2、数据库建表,此处以Users表为例

    create database mybatis;
    
    use mybatis;
    
    CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
    
    INSERT INTO users(NAME, age) VALUES('张三', 20);
    
    INSERT INTO users(NAME, age) VALUES('李四', 25);

    3、添加mybatis 配置文件 conf.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>
        <environments default="development">
           <environment id="development">
             <transactionManager type="JDBC">
             </transactionManager>
             <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                    <property name="username" value="root" />
                    <property name="password" value="123456" />
             </dataSource>
           </environment>
        </environments>
    </configuration>

     4、定义表对应的实体类

    package com.mybatis.bean;
    
    public class User {
    
        private int id;
        private String name;
        private int age;
        
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
    }

    5、定义操作users表的sql映射文件userMapper.xml

    <?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.mybatis.bean.User">
    <select id="getUser" parameterType="int" resultType="com.mybatis.bean.User">
       select * from user where id=#{id}
    </select>
    </mapper>

      6、在conf.xml文件中注册userMapper.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>
        <environments default="development">
           <environment id="development">
             <transactionManager type="JDBC">
             </transactionManager>
             <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                    <property name="username" value="root" />
                    <property name="password" value="123456" />
             </dataSource>
           </environment>
        </environments>
        <mappers>
            <mapper resource="userMapper.xml"></mapper>
        </mappers>
    </configuration>

     7、编写测试代码

    package com.mybatis.service;
    
    import java.io.IOException;
    import java.io.Reader;
    
    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 com.mybatis.bean.User;
    
    public class test {
    
        public static void main(String[] args) throws IOException {
            // TODO Auto-generated method stub
    
            String pathxml = "conf.xml";
            
            Reader reader = Resources.getResourceAsReader(pathxml);
            SqlSessionFactory sessionfactory = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sessionfactory.openSession();
            
            String statement = "com.mybatis.bean.User.getUser";
            User user = session.selectOne(statement,1); // 1 为要查询的条件id
            
            System.out.println(user.getName());
        }
    
    }
  • 相关阅读:
    谷歌浏览器中安装JsonView扩展程序
    谷歌浏览器中安装Axure扩展程序
    PreferencesUtils【SharedPreferences操作工具类】
    Eclipse打包出错——提示GC overhead limit exceeded
    IntentActionUtil【Intent的常见作用的工具类】
    DeviceUuidFactory【获取设备唯一标识码的UUID(加密)】【需要运行时权限的处理的配合】
    AndroidStudio意外崩溃,电脑重启,导致重启打开Androidstudio后所有的import都出错
    DateTimeHelper【日期类型与字符串互转以及日期对比相关操作】
    ACache【轻量级的开源缓存框架】
    WebUtils【MD5加密(基于MessageDigest)】
  • 原文地址:https://www.cnblogs.com/JsonShare/p/5211583.html
Copyright © 2011-2022 走看看