用select语句的mybatis第一个应用程序

MyBatis第一个应用程序

MyBatis:mybatis的使用逐渐上升,Hibernate使用逐渐下降。百度百科。本质是基于Java的持久层框架,通俗地讲就是访问持久状态的数据的一段程序,即是DAO.它的目的就是帮助程序员减少工作量和重复的代码编写,不用自己封装实体类。它的优点是代码量精简,编译代码较少,利用xml映射文件做应用程序访问数据库的接口,所以说它是半自动化的ORM框架。

如何使用MyBatis途径类型

  1. 利用Maven添加依赖
  2. 导入MyBatis相关jar包,新建lib,导入jar包和它的依赖包,mysql的jar包

公共步骤:

  1. 编写mybatis的核心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>
    <!-- 配置运行环境 -->
    <!-- default 表示默认使用哪一个环境,可以配置多个,比如开发时的测试环境,上线后的正式环境等 -->
    <environments default="mysqlEM">
        <environment id="mysqlEM">
            <transactionManager type="JDBC">
            </transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
        <environment id="testEM">
            <transactionManager type="JDBC">
            </transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 注册映射文件 -->
    <mappers>
        <mapper resource="mapper.xml"/>


    </mappers>
</configuration>

  1. 创建sqlSessionFactory
  2. 创建sqlSession

InputStream ins;
//读取配置文件
ins = Resources.getResourceAsStream("mybatis.xml");
// 由于这个文件里面配置了mapper.xml,框架会帮我们扫描这些mapper.xml,下面是初始化一个SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(ins);
// 工厂会获取一个SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//以上代码可以单独创建一个util

  1. 创建实体类

package com.raydose;

public class User {
   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;
    }
}

  1. 编写mapper.xml映射文件,重点强调:mybatis是自动封装的

<?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="dao.IUser">
    <!-- 自定义返回结果集 -->
    <!--<resultMap id="UserMapper" type="com.raydose.User">
        <id property="id" column="id" javaType="java.lang.Integer"></id>
        <result property="name" column="name" javaType="java.lang.String"></result>
        <result property="age" column="age" javaType="java.lang.Integer"></result>
    </resultMap>-->
    <select id="SUser" parameterType="int" resultType="com.raydose.User">
        select * from users where id=#{id}
    </select>
    <!--resultMap="UserMapper"-->
</mapper>

 

//接口

package dao;

import com.raydose.User;

import java.io.IOException;

public interface IUser {
    //接口和映射文件是对应的,映射文件多了一些sql语句,当然也可以通过在接口里写注解的方式,不必拘泥于xml文件一种方式
    //我的参数写得不好,应该是要写int id
    public User SUser(User user1) throws IOException;
}

 

  1. 测试

package com.raydose;

import dao.Operation;

/**
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        Operation operation = new Operation();
        operation.SUser(new User());
    }
}

数据库创建使用MySQL,很简单,就不再赘述了!

有啥问题直接在下方评论,我会经常回复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值