myBatis

1>各种jar包的配置 (mybatis的jar包,连接数据库的jar包,日志包)
2>配置全局的文件,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">
<!--通过这个配置文件,完成mybatis与数据库的连接 -->
<configuration>
    <!-- 注意此配置文件内的元素的 -->
    <!-- 引入database.properties文件 -->
    <properties resource="database.properties" />
    <!--配置mybatis的log实现为LOG4J -->
    <!-- 配置后,后台就会有sql语句的输出 -->
    <settings>
        <setting name="logImpl" value="LOG4J" />
        <!-- 设置resultMap的自动映射 禁止NONe  PARTIAL自动匹配,但xml中有嵌套(association,collection) 除外 ,FULL更高级的自动匹配-->
                                            <!--value   NONe  PARTIAL  FULL    最好大写,不然报错-->
          <setting name="autoMappingBehavior" value="FULL"/>
    </settings>
    
     <!-- 配置mybatis多套运行环境 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置事务管理 ,采用JDBC管理事务 -->
            <transactionManager type="JDBC" />
            <!-- POOLED是mybatis的 数据源 -->
            <!-- JNDI是基于tomcat的数据源 -->
            <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>
    <!-- pojo的映射文件UserMapper引入到配入到配置文件中 -->
    <mappers>
        <!-- resource要写成对应映射文件(.xml)的路径 -->
       <mapper resource="dao/UserMapper.xml" />
    </mappers>
</configuration>
  3>书写Dao接口

public List<User> getUserListByMap(int i);

//Dao接口中的方法名称要与 映射文件的id值相同
4>书写 与Dao接口对应的 映射文件  (以UserMapper.xm为列l)

固定格式

<?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="接口所在相对的地址">

//进行 增删改 等操作

 <select id="getUserListByMap" resultType="bean.User" parameterType="int">
 SELECT * from smbms_user
 WHERE  userRole=#{urid}
</select>
5>在Main方法中实现

    //1.读取所写的全局配置文件

InputStream is=Resources.getResourceAsStream("全局配置文件的名称");

//2.创建SqlSessionFactory对象,完成对配置文件的读写

SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);

//3.创建SqlSession对象,

SqlSession sqlSession=factory.openSession();

//4.通过SqlSession对象调用Dao接口中的方法

List<User> userlist=sqlSession.getUserListByMap(1);

//5.关闭sqlSession

sqlSession.close();

//6.使用foreach循环出userlist中的东西

for (User user : userlist) {
            System.out.println(user.getAddress()+user.getUserName());
            for(Address aa:user.getAddressList()){
            System.out.println("地址"+aa.getAddressDesc()+"id"+aa.getUserId());
            }






posted @ 2017-09-22 10:35  rq_rq  阅读(99)  评论(1)    收藏  举报