mybatis的简单使用

在java web工程中对于数据库的操作基本都是通过mybatis库操作的,下面就简单的介绍初步的使用过程。
首先我们建立了测试用的数据库mybatis:

create database mybatis;
use mybatis;
create table users(id int primary key auto_increment,name varchar(20),age int);
insert users(name,age) values ('句芒',100);
insert users(name,age) values ('帝江',200);

我们在这个新建的数据库中建立一个表users,然后插入两条数据。
对应的我们要在Java web工程中创建这个表对于的java类User,很多地方(主要是使用spring的时候)又叫它bean对象。这个java类的属性要与数据库中的字段对应:

package ServaceStudy;

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;
    }
}

操作数据库是需要使用sql语句的,下面我们需要创建users表对应的sql语句的xml文件,userMapper.xml:

<?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="MyMapper.userMapper">
    <select id="getUser" parameterType="int" resultType="ServaceStudy.User">
    select *from users where id=#{id}
    </select>

</mapper>

mapper 标签的属性namespace的值一般是包名+xml文件名,作为命名空间的值。select 标签代表基本的sql语句增删改查中的查,id用于唯一标识这个sql语句,parameterType属性代表查找时传入参数的类型,resultType代表查找结果的返回类型,select *from users where id=#{id} 这是具体的查询语句,表示根据id查询对应的那条数据。
好了到这位置我们已经创建了三个元素:数据库中的一个表,表对应的java类,表对应的mapper文件。这三个元素现在是没有关系的,我们还需要更进一步的使它们产生关联。
在工程中我们需要创建一个xml文件用于管理mybatis在工程中的使用,这个文件大概要完成这些事情:指定连接到哪个数据库,注册表对应的mapper文件:

<?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">
             <transactionManager type="JDBC" />
              <dataSource type="POOLED">
                 <property name="driver" value="com.mysql.jdbc.Driver" />
                 <property name="url" value="jdbc:mysql://10.1.3.121:3306/mybatis" />
                 <property name="username" value="root" />
                 <property name="password" value="123456" />
             </dataSource>
         </environment>
     </environments>

     <mappers>
        <mapper resource="MyMapper/userMapper.xml"/>
     </mappers>

</configuration>

environments标签是环境的意思,这里指的是数据库连接的是生产环境还是开发环境,现在开发过程中一般都连接开发环境的,dataSource数据源标签这里会规定连接数据库的一些信息,driver这里会规定默认加载的架包路径,url设置连接数据库的地址,username和password分别是数据库的用户名和密码。
在mappers标签中会注册我们写的mapper文件如:<mapperresource="MyMapper/userMapper.xml"/>
resource 就是mapper文件的路径。
好了,到这里我们把需要做的前期工作已经完成了,下面写代码测试:

package ServaceStudy;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class TestMybatis {
    public static String selectUserById(Integer id) {

        InputStream input = TestMybatis.class.getClassLoader().getResourceAsStream("conf.xml");

        String statement = "MyMapper.userMapper.getUser";

        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input);
        SqlSession session = sessionFactory.openSession();

        User user = session.selectOne(statement,id);
        session.close();
        return user.getName();
    }
}
InputStream input = TestMybatis.class.getClassLoader().getResourceAsStream("conf.xml");

是使用类加载器加载mybatis的总的配置文件的,也可以使用其自带的类Resources类加载:Reader input = Resources.getResourceAsReader("conf.xml");

String statement = "MyMapper.userMapper.getUser";

这个是指明将要执行哪个mapper文件中的哪条sql语句。
下面获取SqlSession执行查询语句:

SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input);
        SqlSession session = sessionFactory.openSession();

        User user = session.selectOne(statement,id);
阅读更多
版权声明:本文已经搬迁到博主个人网站:http://13fafa.cn。 https://blog.csdn.net/qq_30970529/article/details/51556206
想对作者说点什么? 我来说一句

mybatis简单使用xml配置的Demo

2015年07月15日 3.8MB 下载

mybatis generator

2017年08月10日 451KB 下载

JavaEE Mybatis使用

2018年04月16日 6.66MB 下载

逆向工程 mybatis

2018年04月25日 11.59MB 下载

spring3.0 实例

2015年02月01日 12.65MB 下载

没有更多推荐了,返回首页

不良信息举报

mybatis的简单使用

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭