总结了一下使用Mybatis的步骤,如有错误之处,希望指正!
1、新建工程
2、引入mybatis的jar包到工程下的lib文件下,并且build-path
3、引入log4j的jar包到工程下的lib文件下,并且build-path
4、创建mybatis的配置文件,名称没有规定,MybatisConfig.xml
需要引入约束文件,才可以使用mybatis的配置
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<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>
<!-- 配置映射文件的地址 -->
<!-- resource指定的是文件路径 -->
<mappers>
<mapper resource="com/lyq/ssm/mybatis/UserMapper.xml">
</mappers>
</configuration>
5、创建log4j的配置文件,log4j.properties
# Global logging configuration
#其中的rootLogger在开发环境中使用DEBUG,在生产环境使用INFO或ERROR
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
6、获取配置文件的路径
String resource = "MybatisConfig.xml";该方式要求,xml所在文件夹为源文件夹下。
7、读取文件作为流对象
InputStream inputStream = Resource.getResourceAsStream(resource);
8、获取SqlSessionFactoy 工厂
SqlSessionFactoy sqlSessionFactoy = SqlSessionFactoryBuilder().bulid(inputStream);
9、获取SqlSession
SqlSession sqlSession = sqlSessionFactoy.openSession();
10、使用sqlSession
User user = sqlSession.selectOne("test.findUserById",1);
//sqlSession.selectOne("需要使用的sql语句,所对应的命名空间 + ID","参数");
11、释放资源
sqlSession.close();
mapper文件:
1、引入约束文件
<?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">
2、确定命名空间,实现sql的隔离(相同ID可以使用namespace进行区分)
<mapper namespace="test" >
<select id="findUserById" parameterType="int" resultType="com.lyq.ssm.entriy.User">
select * from user where id = #{id}
</select>
</mapper>
问题:
1、如果引入约束文件时,报错,可能是没有下载成功,就需要配置xml读取本地的dtd文件。
步骤如下: