zoukankan      html  css  js  c++  java
  • myBatis入门案例

    myBatis的一个入门案例

    功能:

    (1)查出单个用户

    (2)查出所有用户

    (3)修改用户信息

    (4)新增用户信息

    (5)删除用户信息

    1、加载相关的包

    mybatis-3.2.3.jar

    mysql-connector-java-5.1.7-bin.jar

    2、目录结构

    3、配置configuration.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" />
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <property name="url"
                        value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />
                    <property name="username" value="root" />
                    <property name="password" value="123456" />
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="com/mybatis/domain/User.xml" />
        </mappers>
    </configuration>

    4、User.java模型文件

    package com.mybatis.domain;
    
    import java.io.Serializable;
    
    public class User implements Serializable{
        private static final long serialVersionUID = 1L;
        private int id;
        private String name;
        
        public User(){};
        
        public User(int id,String name){
            this.id = id;
            this.name = name;
        }
    
        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 String toString(){
            return "User [id:" + this.id + ";name:" + this.name +"]";
        }
    }

    5、User.xml(sql配置文件)

    <?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="User">
        <cache />
        <!-- 通过id查询一个用户 -->
        <select id="selectUser" parameterType="int"
            resultType="com.mybatis.domain.User">
            select * from user where id=#{id}
        </select>
        
        <select id="selectUserToHashMap" parameterType="hashMap" resultType="hashMap">
            select * from user where id=#{id} and name=#{name}
        </select>
        
        <!-- 获取所有的数据 -->
        <select id="getUser" resultType="com.mybatis.domain.User">
            select * from user
        </select>
        
        <!-- 插入一条记录 -->
        <insert id="insertUser" parameterType="com.mybatis.domain.User" useGeneratedKeys="true" keyProperty="id">
            insert into user(id,name) values(#{id},#{name})
        </insert>
        
        <!-- 更新一条记录 -->
        <update id="updateUser" parameterType="com.mybatis.domain.User">
            update user set name=#{name} where id = #{id}
        </update>
        
        <!-- 删除一条记录 -->
        <delete id="deleteUser" parameterType="int">
            delete from user where id = #{id}
        </delete>
    </mapper>

    6、测试代码

    package com.mybatis.test;
    
    import java.io.IOException;
    import java.io.Reader;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    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.domain.User;
    
    public class UserTest {
        public static void main(String[] args) throws IOException {
            String resource = "configuration.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sqlSessionFactory.openSession(true);        //true自动提交
            
            try {
                //查询一个用户
                User user = session.selectOne("selectUser", "1");
                System.out.println(user);
                
                Map paraMap = new HashMap();
                paraMap.put("id", 2);
                paraMap.put("name", "李四");
                Map user2 = session.selectOne("selectUserToHashMap",paraMap);
                System.out.println("User [id:"+user2.get("id")+";name:"+user2.get("name")+"]");
                
                //获取所有用户
                System.out.println("**************");
                List<User> users = session.selectList("getUser");
                for(User user1 : users){
                    System.out.println("User [id:"+user1.getId()+";name:"+user1.getName()+"]");
                }
                System.out.println("**************");
                
                //插入一个用户
                User newUser = new User();
                newUser.setId(4);
                newUser.setName("赵六");
                int id = session.insert("insertUser", newUser);
                session.commit();
                System.out.println(id);
                
                //修改用户
                newUser.setId(4);
                newUser.setName("赵六六");
                session.update("updateUser", newUser);
                
                //删除用户
                session.delete("deleteUser", 4);
            } catch (RuntimeException e) {
                e.printStackTrace();
            }finally{
                session.close();
            }
        }
    }
  • 相关阅读:
    The Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/jingyunyb/p/3607527.html
Copyright © 2011-2022 走看看