• MyBatis入门


    前言:java web开发的后端技术包括MyBatis框架,因此mybatis的学习是必须的了

    阅读目录:

    • 1.MyBatis是什么
    • 2.MyBatis下载
    • 3.MyBatis入门开发

    1.MyBatis是什么

    MyBatis是一款优秀的持久层框架,即ORM框架(Object Relation Mapping)​,它支持定制化SQL、存储过程、高级映射。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和java的pojo映射成数据库的记录

    它的特点是小巧、​上手快。

    2.MyBatis下载​

    MyBatis官网是http://www.mybatis.org/mybatis-3/zh/index.html

    mybatis 代码由github.com托管 下载地址: http://github.com/mybatis/mybatis-3/releases

    目前MyBatis版本​mybatis-3.4.5

    3.MyBatis入门开发

       一个简单的MyBatis连接Oracle数据库的例子

    3.1​ 准备环境  Eclipse+Maven+Oracle

         maven引入jar包​:mybatis-3.4.5.jar  ojdbc14-10.2.0.5.0.jar

         数据库使用项目中的测试数据库​,里面有用户表User

      3.2进入开发---这里采用Mapper代理开发

    1. 创建maven的java web工程 mybatisdemo
    2. 在pom文件中加入mybatis和ojdbc的jar包
    3.  在src/main/resources目录下创建mybatis-config配置文件

             和user映射文件

    4.创建实体User类和接口UserMapper

    5.创建测试类Test1

    3.3详解

    1.​全局配置文件mybatis-config.xml,配置mybatis的数据库连接信息,文档的顶层结构如下:

    configuration 配置

    mybatis-config.xml 内容为:

    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <properties resource="jdbc.properties">
        </properties>
    
        <!-- 和spring整合后 environments配置将废除 -->
        <environments default="development">
            <environment id="development">
                <!-- 使用jdbc事务管理,事务控制由mybatis管理 -->
                <transactionManager type="JDBC" />
                <!-- 数据库连接池,由mybatis管理 -->
                <dataSource type="POOLED">
    
                    <property name="driver" value="${driver}" />
                    <property name="url" value="${url}" />
                    <property name="username" value="${username}" />
                    <property name="password" value="${password}" />
    
                    <!--数据库连接信息除了上述配置方式外,还有下面一种配置方式,数据库连接相关信息直接写在value上, 注意:jdbc通过thin方式连接oracle,使用service_name的格式为 
                        jdbc:oracle:thin:@//host:port/service_name -->
                    <!-- <property name="driver" value="oracle.jdbc.driver.OracleDriver"  /> 
    <property name="url" value="jdbc:oracle:thin:@//10.221.129.208:1523/otatransuser" />
    <property name="username" value="otatransuser" />
    <property name="password" value="otatransuser123" />
    --> </dataSource> </environment> </environments> <!-- 加载映射文件 --> <mappers> <mapper resource="UserMapper.xml" /> </mappers> </configuration>

    ​  2.映射文件UserMapper.xml

    这个映射文件的命名规则一般是表名+Mapper.xml​

    <!-- namespace命名空间,作用就是对sql进行分类化的管理,理解为sql隔离
    注意:使用mapper代理开发时,namespace有特殊作用
    -->
    <mapper namespace="mybatisdemo.dao.UserDao">
    <select id="findUserByName" parameterType="java.lang.String" resultType="mybatisdemo.pojo.User">
    select * from ota_user where username=#{username}
    </select>

    </mapper>

    3.创建Mapper接口 UserMapper

    mapper接口的命名方式建议:表名+Mapper​

    public interface UserMapper {

    public User findUserByName(String name) throws Exception;

    }

    4.测试类 BatisTest

    public class BatisTest {

    public static void main(String[] args) throws Exception{

    String resource ="Mybatis-Config.xml";

    InputStream inputStream = Resources.getResourceAsStream(resource);

    SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession session = factory.openSession();

    UserMapper userdao = session.getMapper(UserMapper.class);

    User user = userdao.findUserByName("wanghaixia");

    System.out.println(user);

    session.close();

    }

    ​运行测试类,得到结果:

    User [id=4283, username=wanghaixia, password=gxBB2fIrpx8=

    , offices=null, ips=*, max_Concurrent_Call=1, available=true, company=中国航信, email=null, last_Login=null, create_Time=Mon Apr 20 00:00:00 CST 2015, tel=57651606, mobile=null, contact=王海霞, iata=*, user_Groups=INNER, abbreviation=中国航信, belongs=暂未分类, temp_Password=null, black_Offices=SHA177]

  • 相关阅读:
    Node项目
    Angular模块/服务/MVVM
    Angular介绍1
    Node环境配置及Gulp工具
    Linux及Git介绍
    数据库MySQL
    ReactiveCocoa 监听枚举类型enumerate 或者 NSInteger类型
    ReactiveCocoa 监听布尔(BOOL)类型改变
    python3.7 urlopen请求HTTPS警告'CERTIFICATE_VERIFY_FAILED'解决办法
    Centos yum命令
  • 原文地址:https://www.cnblogs.com/whx7762/p/7693353.html
Copyright © 2020-2023  润新知