mybatis的基本配置:实体类、配置文件、映射文件、工具类 、mapper接口

搭建项目

一:lib(关于框架的jar包和数据库驱动的jar包)

1,第一步:先把mybatis的核心类库放进lib里

2,第二步:导入第三方类库(在lib里)。mybatis的核心类库在运行时还依赖一些第三方类库

3,第三步:导入连接数据库驱动jar包



二:创建mybatis的配置文件

1,第一步:先创建实体包,对照着表结构把实体类写出来。封装好就是写get,set方法------不像hibernate,可以自动的将表名字段名与实体类相对应,不用自己手写实体类与映射文件

2,第二步:创建xml文件,文件名可以随便写,这里参考hibernate的规范写法:mybatis.cfg.xml

      不需要next,因为myeclipse没有内置mybatis的文档声明

3,配置文件由四部分组成:

(1)配置日志

(2)配置类型别名

把经常要用到的类设置别名,后面就可以使用别名,可简化代码---自定义实体类设置别名

(3)配置数据库连接和事务管理器

(4)导入映射文件

完整的配置文件如下:

<?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>
	<!--  设置mtbatis的一些运行参数:日志,是直接输出到控制台上还是输出到log4j文件中 -->
	<settings>
		<!-- name不可以随便写,只能叫这个名字;value有好几个选项这里选择向控制台输出 -->
		<setting name="logImpl" value="STDOUT_LOGGING"/>
	</settings>

	<!--设置类型别名:在执行sql语句的时候,如果不设置别名。每次在指定的时候都需要包名+类名,得写的长 -->
	<typeAliases>
		<!-- type就是完整实体类名, -->
		<tapeAlias type="cn.bdqn.mybatis.entity.User" alias="User"/>
	</typeAliases>

	<!--数据库连接的属性,不同的开发阶段连接不同的数据库

	开发阶段——开发环境:连接程序员自己的数据库
	测试阶段——测试环境:连接测试数据库
	上线运行——生产环境:连接正式数据库

	里边可以写多个environment
	-->
	<environments default="dev">
		<!-- 开发环境 -->
		<environment id="dev">
		<!-- 通过JDBC管理事务 -->
		<transactionManager type="JDBC"/>
		<!--不使用连接池  -->
		<dataSource type="UNPOOLED">
			<property name="driver" value="com.mysql.jdbc.Driver"/>
			<property name="url" value="jdbc:mysql://localhost:3306:Test"/>
			<property name="username" value="test"/>
			<property name="password" value="123456"/>
		</dataSource>
		</environment>
	</environments>

	<!--sql映射文件的路径-->
	<mappers>
		<!-- 引入要加载的sql文件 -->
		<mapper resource="cn/bdqn/mybatis/mapper/User.sql.xml"/>
	</mappers>

</configuration>

                                                编写工具类

package cn.bdqn.mybatis.util;

import java.io.IOException;
import java.io.Reader;

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

public class MyBatisUtil {
	private static SqlSessionFactory sessionFactory;
	static{
		try {
			//获得用来加载配置文件的输入流  字符流
			Reader reader=Resources.getResourceAsReader("mybatis.cfg.xml");
			//构建器,通过它
			SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
			sessionFactory=builder.build(reader);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static SqlSession getSqlSession(){
		return sessionFactory.openSession(true);
	}

}


                                     映射文件

<?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="cn.bdqn.mybatis.mapper.UserMapper">
	<insert id="addUser" parameterType="User">
		INSERT INTO User(userName,password,email) VALUES
		(#{userName},#{password},#{email})
	</insert>

	<select id="getUser" resultType="User">
		SELECT id,userName,password,email FROM User WHERE id=#{id}

	</select>

	<select id="findUser" resultType="User">
		SELECT id,userName,password,email FROM User ORDER BY id;
	</select>

	<update id="updateUser" parameterType="User">
		UPDATE User SET userName=#{userName},password=#{password},email=#{email} WHERE id=#{id}
	</update>

	<delete id="delUser" >
		DELETE FROM User WHERE id=#{id}
	</delete>

</mapper>

mapper接口

package cn.bdqn.mybatis.mapper;

import java.util.List;

import cn.bdqn.mybatis.entity.User;

//通过接口里边的抽象方法来调用对应的语句
//接口对应映射文件----把SQL语句的命名空间设置成接口的完整类名

//相当于原来dao层,我只需要定义dao接口,那具体的实现类现在不用咱自己写了,只需拿到mapper接口类即可   省了很多事,提高开发效率
public interface UserMapper {
	public int addUser(User user);

	public User getUser(Integer id);

	public List<User> findUser();

	public int updateUser(User user);

	public void delUser(Integer id);
}

          测试类

第一种调用sql语句的方法//保存一个用户int rows=session.insert("User.addUser",user);
//根据id获取一个用户
user=session.selectOne("User.getUser",2);
第二种最常用的调用sql语句的方法:定义一个mapper接口    mapper接口中,返回值类型,参数,得相对应;方法名与sql语句id相一致//先告诉session;后session根据mapper的class找到了命名空间UserMapper mapper=session.getMapper(UserMapper.class);            int rows=mapper.addUser(user);
时间: 2024-10-12 04:18:36

mybatis的基本配置:实体类、配置文件、映射文件、工具类 、mapper接口的相关文章

Mybatis配置文件和实体类的映射文件,以及dao层的书写

mybatis-config.xml,配置文件,用于连接数据库.底层使用的是oracle数据库的emp表 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-config.dtd&

通过MyEclipse生成实体类及映射文件

1.在工程上添加hibernate支持,导入相关包,修改配置文件为如下: hibernate.cfg.xml文件 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate

java 根据实体类创建映射文件

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.Field; import java.util.List; import java.util.Set; import com.mohe.model.entity.Teach; /** * 根据实体类生成映射文件 * * @author dxm * */ public class Obj

利用mybatis-generator自动生成表实例类和映射文件

我们经常用到mybatis来进行程序代码级别对数据库的操作,然而需要编写大量的表实例类与映射文件,现在使用工具mybatis-generator就可实现上述文件的自动生成,下面简要介绍一下其使用方法. 1.创建工程 为了下载jar包比较方便,本人创建一个名为mybatis的maven工程来应用mybatis-generator. 2.修改pom.xml文件,下载依赖的jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" x

hibernate之实体类型到映射文件

1.通过写hibernate的映射文件,将实体类型转换成数据库中的表 其中那个映射文件是根据实体类型而写的. 实体类型User.java package cn.wwh.www.hibernate.dd.property; import java.util.Arrays; import java.util.Date; /** *类的作用: * * *@author 一叶扁舟 *@version 1.0 *@创建时间: 2014-8-17 下午08:05:30 */ public class Use

myeclipse自动生成可持久化类的映射文件的方法

首先在透视图中选择DB Browser视图: . 然后按照下面的截图一步一步做就可以了. 在偏好设置中选择MyEclipse--Database Explorer--Drivers,配置数据库驱动: . 新建数据库驱动,选择Oracle Thin Driver模板,并且在Driver Jars中选择恰当的JDBC包: . 这样数据库驱动就配置好了,下面是使用配置好的驱动连接数据库,首先新建连接: . 新建连接配置文件: . 选择刚才的驱动配置文件,并且给连接配置文件取名,按照格式填入数据库连接U

使用MyEclipse反向工程快速创建持久化类、映射文件和Hibernate组件

在MyEclipse中创建连接模板 一.选中此项 二.右键新建一个连接模板 三.进入此页面依次选择数据库.Driver name 为这个连接模板的名字.点击Add JARs选择驱动类(在oracle下的安装目录下的ojdbc6.jar).在Save password可选 (是否保存密码)然后点Next 四.选择数据库模式,点Add,选择SCOTT模式,Finsh. 创建Hibernate配置文件一.选择项目 二.如果没有对应的版本.去掉所有的√,点Next 三.如果存在xml文件选择Existi

hibernate由表生成持久化类和映射文件

Eclipse 由表生成持久化类和映射文件

读取Config文件工具类 PropertiesConfig.java

package com.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; /** * 读取Config文件工具类 * @version 1.0 * @since JDK 1.6 */ public class PropertiesConfig { /** * 获取整个配置文件中的属性 *

java生成excel文件工具类实例

import java.io.File; import java.io.IOException; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import org.