zoukankan      html  css  js  c++  java
  • mybatis 框架 的简单使用

    # Global logging configuration
    #在开发环境下日志级别要设置成DEBUG,生产环境设置成info或error
    log4j.rootLogger=DEBUG, stdout
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] -%m%n
    <?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>
        <!-- 和spring整合后environments配置将废除 -->
        <environments default="development">
            <environment id="development">
                <!-- 使用jdbc事务管理,事务控制由mybatis -->
                <transactionManager type="JDBC"/>
                <!-- 数据库连接池,由mybatis管理 -->
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                    <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
                    <property name="username" value="LF"/>
                    <property name="password" value="LF"/>
                </dataSource>
            </environment>
        </environments>
        
        <!-- 加载映射文件 -->
        <mappers>
            <mapper resource="config/sqlmap/user.xml"/>
        </mappers>
        
    </configuration>
    <?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="test">
        <select id="findUserByName" parameterType="java.lang.String" resultType="com.zr.testmybatis.entity.User">
            SELECT * FROM USERTEST WHERE NAME=#{NAME}
        </select>
        
        <insert id="insertUser" parameterType="com.zr.testmybatis.entity.User">
            INSERT INTO USERTEST VALUES(#{name},#{age})
        </insert>
        
        <delete id="deleteUser" parameterType="java.lang.String">
            DELETE FROM USERTEST WHERE NAME=#{name} 
        </delete>
        
        <update id="updateUser" parameterType="com.zr.testmybatis.entity.User">
            UPDATE USERTEST SET AGE=#{age} WHERE NAME=#{name}
        </update>
        
    </mapper>
    package com.zr.testmybatis.entity;
    
    public class User {
        
        
        private String name;
        private int age;
        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;
        }
        public User() {
            super();
        }
        public User(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        
        @Override
        public String toString() {
            return "User [name=" + name + ", age=" + age + "]";
        }
        
    }
    package com.zr.testmybatis.test;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.concurrent.Delayed;
    
    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.zr.testmybatis.entity.User;
    
    
    public class TestA {
        
        public static void main(String[] args) {
            
            //mybatis配置文件路径
            String resource = "config/SqlMapConfig.xml";
            // 获取配置文件流
            InputStream inputStream = null;
            try {
                inputStream = Resources.getResourceAsStream(resource);
            } catch (IOException e) {
                e.printStackTrace();
            }
            //创建会话工厂,传入mybatis的配置文件信息
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            
            //通过工厂得到SqlSession
            SqlSession sqlSession = sqlSessionFactory.openSession();
            
            List<User> list = new ArrayList<User>();
            
            // 通过SqlSession操作数据库
            //查询
            /*list = sqlSession.selectList("test.findUserByName", "lf");
            System.out.println(list);*/
            
            // 插入
            /*User user = new User("tl", 23);
            int i = sqlSession.insert("test.insertUser", user);
            sqlSession.commit();
            System.out.println(i);*/
            
            //删除
            /*int i = sqlSession.delete("test.deleteUser", "lf");
            sqlSession.commit();
            System.out.println(i);*/
            
            User user = new User("tl", 21);
            int i = sqlSession.update("test.updateUser", user);
            sqlSession.commit();
            System.out.println(i);
            
            sqlSession.close();
        }
        
    }
  • 相关阅读:
    2021-06-22 总结
    【每日一题】13. 罗马数字转整数
    【每日一题】12. 整数转罗马数字
    【每日一题】1269. 停在原地的方案数
    【每日一题】1310. 子数组异或查询
    【每日一题】1734. 解码异或后的排列
    【每日一题】872. 叶子相似的树
    【每日一题】1482. 制作 m 束花所需的最少天数
    【每日一题】1723. 完成所有工作的最短时间
    【每日一题】1486. 数组异或操作
  • 原文地址:https://www.cnblogs.com/lantu1989/p/6365633.html
Copyright © 2011-2022 走看看