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

搭建项目

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

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

aaarticlea/png;base64,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" alt="" />

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

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

aaarticlea/png;base64,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" alt="" />


二:创建mybatis的配置文件

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

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

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

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

(1)配置日志

aaarticlea/png;base64,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" alt="" />

(2)配置类型别名

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

aaarticlea/png;base64,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" alt="" />

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

aaarticlea/png;base64,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" alt="" />

(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);
上一篇:Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版


下一篇:JavaScript的单线程性质以及定时器的工作原理