MyBatis入门-基本配置和查询

MyBatis入门-基本配置和查询

1、创建基本的Java web工程

2、导入依赖的jar包,这里只有两个必须的Jar「这里使用的是MySql数据库」。

mybatis-3.4.4.jar                            mybatis核心jar包

mysql-connector-java-5.0.8-bin.jar           MySql JDBC驱动包

3、在src根目录创建mybatis全局配置文件mybatis-config.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="jdbc.properties">
    </properties>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${driver}" />
                <property name="url" value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/zhxiong/empty/mapper/UserMapper.xml" />
    </mappers>
</configuration>

4、在src根目录创建jdbc.properties文件,以供mybatis-config.xml文件使用,具体的内容如下所示:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/testDB
username=root
password=root

5、创建实体类User.java并创建对应的数据库对象,代码如下所示:

package com.zhxiong.empty.bean;

public class User {
	
	private Long id;
	
	private String userName;
	
	private String password;

	public Long getId() {
		return id;
	}

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

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", userName=" + userName + ", password=" + password + "]";
	}
	
}

数据库创建代码如下:

DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `password` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `user_name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

6、定义Mapper接口UserMapper.java,代码如下所示:

package com.zhxiong.empty.mapper;

import com.zhxiong.empty.bean.User;

public interface UserMapper {
	
	User getUser(Long id);
}

7、编写映射文件,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="com.zhxiong.empty.mapper.UserMapper">

  <select id="getUser" resultType="com.zhxiong.empty.bean.User">
    select id,user_name userName,password from sys_user where id = #{id}
  </select>
  
</mapper>

8、在全局配置中引入映射文件,具体看上面的全局配置文件。

9、编写测试。代码如下:

package com;

import java.io.IOException;
import java.io.InputStream;

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.zhxiong.empty.bean.User;
import com.zhxiong.empty.mapper.UserMapper;

public class AppTest {

	@Test
	public void myBatisTest() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		SqlSession session = sqlSessionFactory.openSession();
		
		UserMapper mapper = session.getMapper(UserMapper.class);
		
		User user = session.selectOne("com.zhxiong.empty.mapper.UserMapper.getUser", 1);
		User user2 = mapper.getUser(1L);
		
		System.out.println(user);
		System.out.println(user2);
		
		session.commit();
		
		session.close();
	}

}

至此,我们完成了MyBatis基本入门示例。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值