MyBatis学习(一) MyBatis入门

[size=16px;]一.MyBatis上手[/size]

1.新建web项目
   

 2.导入jar包

mybatis-3.4.0.jar

mysql-connector-java-5.1.27.jar

(注:jar包可以从这里下载:http://mvnrepository.com/)

3. 根据自己的习惯创建项目目录



 4.数据库准备

示例采用mysql进行数据库测试

新建数据库:

mybatis

创建表:

create table users(id int PRIMARY key AUTO_INCREMENT,name VARCHAR(20),age int);

插入测试数据:

insert into users(name,age) values ('张三',25);

insert into users(name,age) values ('翠花',23);

insert into users(name,age) values ('李四',28);

5.添加mybatis配置文件



 
jdbcConnect.xml配置文件的内容:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.4//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/mybatis1"/>
				<property name="username" value="root"/>
				<property name="password" value="lyf241"/>
			</dataSource>
		</environment>
	</environments>
	
	
	<mappers>
		<mapper resource="com/mybatis/mapper/usersMapper.xml"/>
	</mappers>
	
</configuration>

 mybatis的配置文件可以参考(引用:http://blog.csdn.net/etttttss/article/details/8902125

6.创建表对应的实体



 
Users.java的代码:

package com.mybatis.entity;

import java.io.Serializable;

public class Users implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String name;
	private Integer age;
	public Users() {
		super();
	}
	public Users(Integer id, String name, Integer age) {
		super();
		this.id = id;
		this.name = name;
		this.age = 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 "users [id=" + id + ", name=" + name + ", age=" + age + "]";
	}
	
}

7.创建user表对应的sql的映射文件usersMapper.xml

表sql的映射文件主要用来写跟表相关的一些操作(增删查改)



 
sersMapper.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mybatis.mapper.usersMapper">
	<select id="getUsersById" parameterType="int" resultType="com.mybatis.entity.Users">
		select * from users where id = #{id}
	</select>
</mapper>

 namespace 唯一,select 表示查询操作,id:唯一,parameterType查询参数的类型,resultType:查询结果返回的类型,这里com.mybatis.entity.Users表示返回的可以封装成users实体

8.测试



 
测试代码如下:

package com.mybatis.test;

import java.io.InputStream;

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

import com.mybatis.entity.Users;

public class MyBatisTest {
	@Test
	public void selectUsers(){
		//mybatis配置文件
		String resource="com/mybatis/conf/jdbcConnect.xml";
		//使用类加载器加载mybatis的配置文件
		InputStream is = MyBatisTest.class.getClassLoader().getResourceAsStream(resource);
		//构建sqlSession工厂
		SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
		//创建能执行sql的session
		SqlSession sqlSession = sessionFactory.openSession();
		/**
		 * 映射Mapper的sql的字符串
		 * com.mybatis.mapper.usersMapper  mapper配置文件的namespace
		 * getUsersById  mapper文件中的标签的id
		 * namespace + 标签的id 唯一
		 */
		String statement = "com.mybatis.mapper.usersMapper.getUsersById";
		
		Users users = sqlSession.selectOne(statement, 2);
		System.out.println(users);
		
	}
}

 

猜你喜欢

转载自liyunfei241.iteye.com/blog/2294956