第六章 初始MyBatis
6.4 MyBatis入门程序
6.4.1 查询客户
- 根据客户编号查询客户信息
在MySQL数据库中,创建一个名为mybatis的数据库,在此数据库中创建一个t_customer表,同时预先插入几条数据,此操作执行的SQL语句如下图所示:
create DATABASE mybatis;
use mybatis;
create table t_customer(
id int(32) primary key auto_increment,
username varchar(50),
jobs varchar(50),
phone varchar(16)
);
insert into t_customer values('1','joy','doctor','13734532421')
insert into t_customer values('2','jack','teacher','13534532421')
insert into t_customer values('3','tom','worker','15123213421')
完成上述操作后,数据库t_customer表中的数据,如图所示:
2、在Eclipse中,创建一个名为chapter06的web项目,将MyBatis的核心JAR包、lib目录中的依赖JAR包,以及MySQL数据库的驱动JAR包一同添加到项目的lib目录下,并发布到类路径中。添加后的lib目录如图所示:
3、由于Mybatis默认使用log4j输出日志信息,所以如果要查看控制台的输出SQL语句,那么就需要在classpath路径下配置其日志文件。在项目的src目录下创建log4j.properties文件,编辑后的内容如图所示:
4、在src目录下,创建一个com.itheima.po包,在该包中创建持久化类Customer。并在类中声明id,username,jobs,和phone属性,及其对应的getter/setter方法。编辑后的代码如下图所示:
5、在src目录下,创建com.itheima.mapper包,并在包中创建映射文件CustomerMapper.xml,编辑后文件如下:
6、在src目录下,创建MyBatis的核心配置文件mybatis-config.xml,编辑后文件如图所示:
7、在src目录下,创建一个com.itheima.test包,在该包下创建测试类MybatisTest,并在类中编写测试方法findCustomerByIdTest()。编辑后文件如下:
使用JUnit4测试执行findCustomerByIdTest()方法,控制台输出结果如图所示:
使用MyBatis框架已经成功查询出了id为1的客户信息。
2、根据客户名模糊查询客户信息
- 在映射文件CustomerMapper.xml中,添加根据客户名模糊查询客户信息列表的SQL语句,具体实现代码如下:
2、在测试类MybatisTest中,添加一个测试方法findCustomerByNameTest(),其中代码如下所示:
运行JUnit4执行findCustomerByNameTest()方法后,控制台的输出结果如下图所示:
使用MyBatis框架已成功查询了客户表中客户名称中有“j”的两条客户信息
6.4.2 添加客户
- 在MyBatis的映射文件中,添加操作是通过<insert>元素来实现。例如,向数据库中的t_customer表中插入一条数据可以通过如下的配置来实现。其中代码如下所示:
2、在测试类中MybatisTest中,添加测试方法addCustomerTest(),其代码如下所示:
使用JUnit4执行addCustomerTest()方法后,控制台的输出结果如图所示:
使用MyBatis框架已成功新增了一条id为4的客户信息:
6.4.3 更新客户
- MyBatis的更新操作在映射文件中是通过配置文件<update>元素来实现的。如果需要更新用户数据,可以通过如下代码来实现:
2、在测试类中MyBatisTest中添加测试文件updateCustomerTest(),将id为4的用户职业修改为“programmer”,电话修改为“13311111111”代码如下:
使用JUnit4执行updateCustomerTest()方法后,控制台的输出结果如下:
MyBatis框架已成功修改了id为4的客户信息:
6.4.4 删除客户
- MyBatis的删除操作是在映射文件中通过配置<delete>元素来实现。在映射文件CustomerMapper.xml中添加删除客户信息的SQL语句。其代码如下
2、使用SqlSession对象的delete()方法传入需要删除数据的id值即可。在测试了MybatisTest中,添加测试方法deleteCustomerTest(),将该方法将id为4的客户信息删除,其代码如下所示:
使用JUnit4执行deleteCustomerTest()方法后,控制台的输出结果如下图所示:
再次查看t_customer中的数据信息,其结果如图所示:
使用MyBatis框架已经成功删除了id为4的客户信息。