mybatis框架使用

表user数据

生成数据库表相关文件

参考【maven web项目中整合ssm框架】中第6步(mybatis的generator自动生成工具

文件路径

MybatisTest.java

package com.su.mybatis.mysql.controller;

import java.io.InputStream;

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

import com.alibaba.fastjson.JSON;
import com.su.mybatis.mysql.dao.UserMapper;
import com.su.mybatis.mysql.model.User;

public class MybatisTest {

    public static void main(String[] args) {
        MybatisTest m = new MybatisTest();
        m.getUserInfo();
    }

    public void getUserInfo() {
        InputStream is = this.getClass().getClassLoader().getResourceAsStream("mybatisConfig.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession sqlSession = factory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.selectByPrimaryKey(1);
        System.out.println("user:" + JSON.toJSONString(user));
    }
}

 main方法中几个类说明

SqlSessionFactoryBuilder:建造者模式读取配置信息创建SqlSessionFactory;
SqlSessionFactory:工厂单例模式创建Sqlsession;
SqlSession:一次数据库会话,即数据库连接,一般通过调用Mapper访问数据库,也可以直接发送SQL执行;
XXXMapper:Java接口和XML文件(SQL语句和结果集映射规则)。

注意: SqlSessionFactory的生命周期是程序的生命周期,其它类的生命周期都是方法级别的生命周期。

mybatisConfig.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="mysql.properties" /> 
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="UNPOOLED">
                <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>
        <mapper url="file:///D://java/workspace/mybatis-mysql-demo/src/main/java/com/su/mybatis/mysql/mapping/UserMapper.xml" />
    </mappers>

</configuration>

上面mapper标签属性参考【mappers标签引入映射器的四种方式】,由于xml文件不在src/main/resources目录下,使用第二种方式,之后会介绍下第一种方式。

输出结果

user:{"age":27,"id":1,"money":1000,"name":"su","phone":"18912341234"}

如果需要将xml文件生成在目录src/main/resources下,需要修改以下配置

1)、generatorConfig.xml

        <!-- targetProject:mapper映射文件生成的位置(xml) -->
        <sqlMapGenerator targetPackage="${target.mapping.path}"
                         targetProject="${target.xml.path}">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

2)、generator.properties

#xml文件存放路径
target.xml.path=src/main/resources
target.mapping.path=xml

3)、mybatisConfig.xml 

    <mappers>
        <!-- <mapper url="file:///D://java/workspace/mybatis-mysql-demo/src/main/java/com/su/mybatis/mysql/mapping/UserMapper.xml" /> -->
        <mapper resource="xml/UserMapper.xml" />
    </mappers>

删除原来自动生成的与user相关的文件

运行MybatisTest中main方法,输出结果

user:{"age":27,"id":1,"money":1000,"name":"su","phone":"18912341234"}

 

 

如果有写的不对的地方,请大家多多批评指正,非常感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值