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());
        }
    
    }
  • 相关阅读:
    hdu 4027 Can you answer these queries?
    hdu 4041 Eliminate Witches!
    hdu 4036 Rolling Hongshu
    pku 2828 Buy Tickets
    hdu 4016 Magic Bitwise And Operation
    pku2886 Who Gets the Most Candies?(线段树+反素数打表)
    hdu 4039 The Social Network
    hdu 4023 Game
    苹果官方指南:Cocoa框架(2)(非原创)
    cocos2d 中 CCNode and CCAction
  • 原文地址:https://www.cnblogs.com/JsonShare/p/5211583.html
Copyright © 2011-2022 走看看