maven+mybatis+mysql简单整合

1.数据库创建

测试读取数据库的内容, 字段id name age, 表名person



2.创建maven工程

不会的参照

http://www.cnblogs.com/hongmoshui/p/7994759.html

3.查看文件目录


4. 导入依赖的jar

可配置pom文件自动下载, 然而我本地有, 我就不配置了.


加载本地jar方法



5.创建几个必要的文件

(1)Person
package com.lynash.domain;


public class Person {
    private Integer id;
    private String name;
    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
(2)mapper.xml
在resources/mapper路径下
<?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="mapper.UserMapper">   <!-- 命名空间,名字可以随意起,只要不冲突即可 -->
    <select id="findAll" parameterType="com.lynash.domain.Person" resultType="Person">
        SELECT * FROM Person
    </select>
</mapper>

(3)sqlMapConfig.xml
在resources目录下
<?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>

    <!-- 赋别名 -->
    <typeAliases>
        <typeAlias type="com.lynash.domain.Person" alias="Person"/>
    </typeAliases>

    <!-- 配置开发环境,可以配置多个,在具体用时再做切换 -->
    <environments default="test">
        <environment id="test">
            <transactionManager type="JDBC"></transactionManager>    <!-- 事务管理类型:JDBC、MANAGED -->
            <dataSource type="POOLED">    <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="111111" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 mapper -->
    <mappers>
        <!-- 路径用 斜线(/) 分割,而不是用 点(.) -->
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>
(4)log4j.properties 文件
在resources路径下
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

6.创建junit test

工程, 右键, new-> other->搜索jUnit创建junit实例
编写代码

package com.lynash.test;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import com.lynash.domain.Person;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import static org.junit.Assert.*;

import org.junit.Test;

public class TestMyBatis {
    @Test
    public void testQuery() throws IOException {   // 查询记录
        /**
         *  1、获得 SqlSessionFactory
         *  2、获得 SqlSession
         *  3、调用在 mapper 文件中配置的 SQL 语句
         */
        String resource = "sqlMapConfig.xml"; // 定位核心配置文件 maven工程记得放在resources目录下
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);    // 创建 SqlSessionFactory

        SqlSession sqlSession = sqlSessionFactory.openSession();    // 获取到 SqlSession

        // 调用 mapper 中的方法:命名空间 + id
        List<Person> personList = sqlSession.selectList("mapper.UserMapper.findAll");

        for (Person p : personList) {
            System.out.println(p);
        }
    }



阅读更多
想对作者说点什么?

博主推荐

换一批

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