• mybatis初识


    mybatis采用弱连接,在一定程度上集中管理了sql的语句编写,又实现了自动映射bean。

    此处以最基础的mybatis连接为例:

    引入jar包:

    mybatis-3.4.5.jar

    ojdbc-6.jar

    在src下创建文件:mybatis.cfg.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>
        <!-- 引入外部配置文件 -->
        <properties resource="ojdbc.properties"></properties>
        <!--bean 别名通过扫描  bean下的内容获取 -->
        <typeAliases>
            <package name="bean" />
        </typeAliases>
        <!-- 配置mybatis运行环境 -->
        <environments default="cybatis">
            <environment id="cybatis">
                <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
                <transactionManager type="JDBC" />
    
                <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
                <!-- POOLED 表示支持JDBC数据源连接池 -->
                <!-- UNPOOLED 表示不支持数据源连接池 -->
                <!-- JNDI 表示支持外部数据源连接池 -->
                <dataSource type="POOLED">
                    <property name="driver" value="${jdbc.driver}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
            </environment>
        </environments>
       <!-- mappers扫描内容 -->
        <mappers>
            <package name="mapper" />
        </mappers>
    
    </configuration>

    在src下创建ojdbc.properties文件

    db连接驱动文件写法参照 db连接驱动,以下为例子:

    jdbc.driver=oracle.jdbc.driver.OracleDriver
    jdbc.url=jdbc:oracle:thin:@192.168.201.7:1521:orcl
    jdbc.username=test
    jdbc.password=test1234

     在mapper的package下,创建对象的接口文件和xml映射文件,要求信息对应上。

    userMapper.xml

    <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        <mapper namespace="mapper.UserMapper">
        <!-- 自定义返回结果集 -->
           <resultMap id="User" type="User">
                <result property="UserId" column="User_id" javaType="java.lang.String"></result>
                <result property="UserNo" column="User_no" javaType="java.lang.String"></result>
            </resultMap>
    
            <select id="getUserById" parameterType="string" resultMap="User">
             select User_id,User_no from User where User_id=#{UserId}
            </select>
            
            <select id="getUserBySearch" parameterType="string" resultMap="User">
             select User_id,User_no from User where org_name like #{orgName}
            </select>
        </mapper>

    userMapper.java

    public interface UserMapper {
    
        /**
         * 
         * @param UserId 主键ID
         * @return User
         * @throws Exception
         */
        User getUserById(String UserId) throws Exception;
        
        /**
         * 
         * @param orgName
         * @return
         * @throws Exception
         */
        List<User> getUserBySearch(String orgName) throws Exception;
    }

    创建对数据库的连接:

    /**
     * 获取连接db的session
     * @author DennyZhao
     *
     */
    public class DBTools {
    
        public static SqlSessionFactory sessionFactory;
        static {
            //使用MyBatis提供的Resources类加载mybatis的配置文件
            //构建sqlSession的工厂
            Reader reader;
            try {
                reader = Resources.getResourceAsReader("mybatis.cfg.xml");
                sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        public static SqlSession getSession() {
            return sessionFactory.openSession();
        }
    }

     测试:

    public class UserTest {
    
        public static void main(String[] args) throws Exception {
            SqlSession session = DBTools.getSession();
            UserMapper UserMapper = session.getMapper(UserMapper.class);
            List<User> UserList = UserMapper.getUserBySearch("%张三%");
            session.close();
        }
    
    }
  • 相关阅读:
    java环境--JDK和Tomcat在linux上的安装和配置
    转载:jQuery的deferred对象详解
    js 模板引擎 -Art Template
    sublime text的快捷键
    Spring MVC 配置Controller详解
    转:几款免费的图表js插件
    tomcat manager详解
    C#判断一个string是否为数字
    调用摄像头并将其显示在UGUI image上自适应屏幕大小
    unity监测按下键的键值并输出+unity键值
  • 原文地址:https://www.cnblogs.com/DennyZhao/p/9648552.html
Copyright © 2020-2023  润新知