zoukankan      html  css  js  c++  java
  • Mybatis配置

    mybatis
    ibatis:apache
    2010 ibatis->google colde,Mybatis

    MyBatis可以简化JDBC操作,实现数据的持久化
    ORM:Object Relational Mapping
    person对象 person表
    ORM:概念
    Mybatis是ORM的一个实现
    ORM可以使开发人员像操作对象一样操作数据库表

    开发mybatis程序步骤
    1.配置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">
                <!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
                <transactionManager type="JDBC"></transactionManager>
                <!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
                <dataSource type="POOLED">
                    <property name="driver" value="oracle.jdbc.OracleDriver"></property>
                    <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:mldn"></property>
                    <property name="username" value="scott"></property>
                    <property name="password" value="tiger"></property>
                </dataSource>
            </environment>
        </environments>
        <mappers>        <!--这是告诉Mybatis去哪找持久化类的映射文件,对于在src下的文件直接写文件名,            如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml-->
            <mapper resource="org/myy/entity/personMapper.xml"></mapper>
        </mappers>
    </configuration>


    表-类
    映射文件xxMapper.xml:增删改查标签<select>

    package org.myy.entity;
    
    public class Person {
        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;
        }
        public Person(int id, String name, int age) {
            super();
            this.id = id;
            this.name = name;
            this.age = age;
        }
        public Person() {
            super();
        }
        @Override
        public String toString() {
            return this.id+","+this.name+","+this.age;
        }
        
    }
    <?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="org.myy.entity.personMapper"><!--映射文件的路径  -->
    
        <select id="queryPersonById" parameterType="int" resultType="org.myy.entity.Person">
            select * from person where id=#{id}
        </select>
    
    </mapper>

    测试类;
    session.selectOne("需要查询的sql的namespace的id","SQL的参数值");

    package org.myy.entity;
    
    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;
    
    public class TestMyBatis {
        public static void main(String[] args) throws IOException {
            //加载MyBatis配置文件(访问数据库)
            Reader reader = Resources.getResourceAsReader("conf.xml");
            
            SqlSessionFactory SessionFactory = new SqlSessionFactoryBuilder().build(reader);
            //session--connection
            SqlSession session=SessionFactory.openSession();
            String statement="org.myy.entity.personMapper.queryPersonById";
            Person person=session.selectOne(statement,1);
            System.out.println(person);
            session.close();
        }
    }

    第一个Mybatis程序
    0.mybatis.jar ojdbc.jar
    1.conf.xml(数据库配置信息+映射文件)
    2.表-类映射文件
    3.测试类

  • 相关阅读:
    java多线程练习题 类
    java练习题在一个文件里面输入内容在另一个文件里面可以查看
    java练习题输入流姓名学号信息
    java 异常处理2
    java 处理异常练习题
    java get银行练习题
    java 练习题 求梯形的面积和周长
    java get正确写类的练习题 猫
    GUID 全局唯一标识符
    oracle 建表 练习2
  • 原文地址:https://www.cnblogs.com/mayouyou/p/13190683.html
Copyright © 2011-2022 走看看