基于Xml方式mybatis 创建
第一步添加maven依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
第二步 创建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">
<!-- 根标签 -->
<configuration>
<!--配置选择哪种日志-->
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<!--给实体类包里的类起别名 默认为类名且首字母小写-->
<typeAliases>
<package name="com.dzqc.dome.entiy"/>
</typeAliases>
<!-- 环境,可以配置多个,default:指定采用哪个环境 -->
<environments default="development" >
<!-- id:唯一标识 -->
<environment id="development">
<!-- 事务管理器,JDBC类型的事务管理器 -->
<transactionManager type="JDBC" />
<!-- 数据源,池类型的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
<environment id="test">
<!-- 事务管理器,JDBC类型的事务管理器 -->
<transactionManager type="JDBC" />
<!-- 数据源,池类型的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" /> <!-- 配置了properties,所以可以直接引用 -->
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<!--创建映射注册-->
<mappers>
<mapper resource="mapper/Mapper.xml"></mapper>
<mapper resource="mapper/mapper1.xml"></mapper>
</mappers>
</configuration>
第三步 创建xml映射文件
<?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:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="MyMapper">
<!-- statement,内容:sql语句。id:唯一标识,随便写,在同一个命名空间下保持唯一
resultType:sql语句查询结果集的封装类型,tb_user即为数据库中的表
parameterType: 替换sql语句中的占位符的参数类型
-->
<select id="findById" resultType="user" parameterType="int">
select * from user where id = #{id}
</select>
<select id="findByUsernameLike" resultType="com.dzqc.dome.entiy.user" parameterType="string">
select * from user where username like '${value }%'
</select>
</mapper>
注意: #{value} 为占位符
${value} 为拼接符
第四步 创建main方法实现
public class App {
public static void main(String[] args) throws IOException {
//加载配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//创建工厂类
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
//通过工厂类创建sqlSession
SqlSession sqlSession = build.openSession();
//通过sqlSession来执行sql
user user=sqlSession.selectOne("MyMapper.findById",1);
!!创建和数据库对应的实现类我省略了
运行sql语句时需要映射文件的namespace.id