MyBatis的下载与搭建

一、MyBatis的下载并搭建核心架构

1>.找开mybatis的下载页:https://github.com/mybatis/mybatis-3/releases

2>.下载Latest release或是之前的版本Source codetar.gz)是源码包:里面的test是演示

3>.配置mybatis: a>..把相应的mybatisjar包放到lib

                b>.核心配置文件 :在下面的路径下找配置文件

mybatis-3-mybatis-3.4.1\mybatis-3-mybatis-3.4.1\src\test\java\org\apache\ibatis\submitted\complex_property里的Configuration.xml复制到项目中-------->更改里面的数据库的配置的内容

<environments default="development">

    <environment id="development">

      <transactionManager type="JDBC">

        <property name="" value=""/>

      </transactionManager>

      <dataSource type="UNPOOLED">

        <property name="driver" value="com.mysql.jdbc.Driver"/>

        <property name="url" value="jdbc:mysql://127.0.0.1:3306/micro_message"/>

        <property name="username" value="root"/>

        <property name="password" value="root"></property>

      </dataSource>

    </environment>

  </environments>

4>.mybatis的相关知识:从Dao层的需求来看:1.对象能与数据库交互2.能执行SQL语句

                 Mybatis是如何向Dao层提供这样的对象的,这个对象叫SqlSession

                 mybatis最核心的)

5>.SqlSession的作用:a>.SQL语句传入参数

                    b>.执行SQL语句

                    C>.获取执行SQL语句的结果

                    D>.事务的控制

6>.如何得到SqlSessiona>.通过配置文件获取数据库连接相关的信息

                      B>.通过配置信息构建SqlSessionFactory

                      C>.通过SqlSessionFactory打开数据库会话

/**

 * 访问数据库类

 */

public class DbAccess {

public SqlSession getSqlSession() throws IOException{

//通过配置文件获取数据库连接相关的信息,路径是从src包的根路径下面开始

Reader reader = Resources.getResourceAsReader("com/message/config/Configuration.xml");

//通过配置信息构建SqlSessionFactory

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

//通过SqlSessionFactory打开数据库会话

SqlSession sqlSession = sqlSessionFactory.openSession();

return sqlSession;

}

}

7>.Db包下建DbAccess得到SqlSession,编写Dao层的类(和表相关的数据库操作)

/**

 * 和Message表相关的数据库操作

 */

public class MessageDao {

/**

 * 根据查询条件查询消息列表

 * @param command

 * @param description

 * @return

 */

public List<Message> queryMessageList(String command,String description){

DbAccess dbAccess = new DbAccess();

List<Message> messageList = new ArrayList<Message>();

SqlSession sqlSession = null;

//通过SqlSession执行Sql语句

try {

sqlSession = dbAccess.getSqlSession();

messageList = sqlSession.selectList("Message.queryMessageList");

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

if(sqlSession != null){

sqlSession.close();

}

}

return messageList;

}

}

二、SQL基本配置与执行

1>.Sql语句的配置文件 :

mybatis-3-mybatis-3.4.1\mybatis-3-mybatis-3.4.1\src\test\java\org\apache\ibatis\submitted\complex_property里的User.xml  复制到项目中-------->更改里面的Sql语句

注:namespace命名空间不同(必须有),id:不同namespace里的id是可以相同的。

resultMaptype属性表明数据库字段对应Java中的那个类,写包名  

<?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="Message">

<resultMap type="com.message.bean.Message" id="MessageResult">

 //此列为主键,用id;不是主键,用result

     //column 和数据库的列名相一致,property数据库字段对应Java中的那个类的属性

    //jdbcType====jdbc.sql.Types.

    <id column="id" jdbcType="INTEGER" property="id"/>

    <result column="command" jdbcType="VARCHAR" property="command"/>

    <result column="description" jdbcType="VARCHAR" property="description"/>

<result column="content" jdbcType="VARCHAR" property="content"/>

 </resultMap>

 <select id="queryMessageList" resultMap="MessageResult">

    select id,command,description,content from message ;

  </select>

</mapper>

2>.在核心配置文件Configuration.xml中引入Sql语句的配置文件     

<mappers>

     <!--引入其它的SQL文件 可以写多个mapper-->

    <mapper resource="com/message/config/sql/MessageDao.xml"/>

 </mappers>

   


目录结构图

      

      

猜你喜欢

转载自blog.csdn.net/lucky_zfx/article/details/52463234
今日推荐