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方法中实现
//读取所写的全局配置文件
InputStream is=Resources.getResourceAsStream("全局配置文件的名称");
//创建SqlSessionFactory对象,完成对配置文件的读写
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
//创建SqlSession对象,
SqlSession sqlSession=factory.openSession();
//通过SqlSession对象调用Dao接口中的方法
List<User> userlist=sqlSession.getUserListByMap(1);
//关闭sqlSession
sqlSession.close();
//使用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());
}