MyBatis代码快速入门
什么是Mybatis,Mybatis的优势是什么?
mybatis 是一个优秀的基于java的持久层框架,它内部封装了 jdbc,使开发者只需要关注sql语句本身,而不需要花费精力 去处理加载驱动、创建连接、创建statement等繁杂的过程。
一、添加MyBatis的坐标
打开Maven项目中的pom文件,导入Mybatis坐标。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
这里我们不仅仅只要导入Mybatis坐标,因为我们还需要连接Mysql数据库,所以还需要导入Mysqlconnector(mysql连接)坐标,当然还可以导入我们方便测试的Junit坐标。
二、创建user数据库
在数据库中创建user表
三、编写User实体类
在Maven项目中main包中的java包中创建com.jikebensan.domain.User类,User类中写入和Mysql数据库中列名相同的属性,并且生成Getter和Setter方法,ToString方法。
四、 编写UserMapper.xml映射文件
在Maven项目中miain包中的resources包下创建com.jikebensan.mapper.UserMapper.xml的配置文件。使用命名空间为userMapper,写入sql语句中的查询语句(select),id起名为findAl的方法名,返回一个dao层中的User对象。
代码如下:
<?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="userMapper">
<select id="findAll" resultType="com.itheima.domain.User">
select * from User
</select>
</mapper>
五、 编写MyBatis核心文件sqlMapConfig.xml在Maven项目中
在Maven项目中的main包下的resources包下创建名为sqlMapConfig.xml的配置文件里面配置了数据源环境。为了优化代码,并且解耦合,我又创建了jdbc.properties的配置文件,单独配置连接接数据库所需的四个属性(驱动,地址,用户名,密码)。 代码如下:
<?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>
<!--通过properties标签加载外部properties文件-->
<properties resource="jdbc.properties"></properties>
<!--自定义别名-->
<typeAliases>
<typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
</typeAliases>
<!--数据源环境-->
<environments default="developement">
<environment id="developement">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!--加载映射文件-->
<mappers>
<mapper resource="com/itheima/mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>
jdbc.properties的配置文件
六、编写测试类
在Maven项目中的test包中进行测试代码,我们在test包中java里创建com.jikebensan.test.MyBatisTest类。 测试为在控制台返回一个list集合并且进行打印出来,其类中进行了5部操作分别为 1.获得sqlMapConfig.xml核心配置中的文件 2.获得session工厂对象 3.获得session回话对象 4.执行UserMapper xml中的查询sql语句操作 5.释放资源
代码如下:
@Test
public void test5() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
List<User> list = sqlSession.selectList("userMapper.findAll");
System.out.println(list);
sqlSession.close();
}
这里是程序运行成功的控制台截图,成功打印出Mysql数据里面的数据,并且返回的是一个集合。
总结
MyBatis开发步骤: ① 添加MyBatis的坐标 ② 创建user数据表 ③ 编写User实体类 ④ 编写映射文件UserMapper.xml ⑤ 编写核心文件SqlMapConfig.xml ⑥ 编写测试类 今天初步学习了MyBatis的入门操作,明天的文章我会详细介绍MyBatisd对Mysql数据库的增删改查的具体操作的代码实现。加油,pby!
|