创建项目引入jar包等环境操作省略
1、创建log4j.properties文件,并配置

# Global logging configuration log4j.rootLogger=DEBUG, stdout # 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
2、创建User类

package com.hjp.po; import java.util.Date; public class User { private int id; private String userName; private String sex; private Date birthday; private String address; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
3、创建mybatis全局配置文件sqlMapConfig.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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8"></property> <property name="username" value="root"></property> <property name="password" value="hjp123"></property> </dataSource> </environment> </environments> </configuration>
4、创建po映射文件
<?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="test"> <!--根据用户ID查询用户信息--> <select id="findUserById" parameterType="int" resultType="com.hjp.po.User"> select * from user where id=#{id} </select> </mapper>
5、将po对应的mapper文件加载到全局配置文件中(截图如下)
6、编写测试程序
@Test public void findUserById() throws IOException { //读取配置文件 String resource="sqlMapConfig.xml"; InputStream inputStream= Resources.getResourceAsStream(resource); //根据配置文件创建sqlSessionFactory SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); //factory创建session SqlSession session=factory.openSession(); //查询用户信息(加上命名空间可以确定语句唯一,如果全局就唯一,可以不价namespace) // User user=session.selectOne("test.findUserById",1); User user=session.selectOne("findUserById",1); System.out.println(user); //关闭session session.close(); }
7、根据用户名模糊查询用户信息,在po的mapper文件中加入如下
8、根据用户名查询用户信息代码
@Test public void findUserByName() throws IOException { String resource="sqlMapConfig.xml"; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=factory.openSession(); List<User> users=session.selectList("findUserByName","小明"); System.out.println(users); session.close(); }
9、添加用户信息,在mapper中添加如下
10、测试代码
@Test public void insertUser() throws IOException { String resource="sqlMapConfig.xml"; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=factory.openSession(); User user=new User(); user.setUserName("宇文柳旭"); user.setSex("1"); user.setAddress("北京"); user.setBirthday(new Date()); session.insert("insertUser",user); session.commit();//注意commit(因为没有开启自动提交,后面讲自动提交) session.close(); }
11、自增主键返回(主键在PO对象中)
1)mysql自增主键,mapper文件配置如下
2)非自增主键返回UUID,配置如下
3)Oracle数据库操作返回序列ID,配置如下
12、根据用户ID删除用户,配置如下
13、测试代码如下
@Test public void deleteUser() throws IOException { String resource="sqlMapConfig.xml"; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=factory.openSession(); session.delete("deleteUser",30); session.commit(); session.close(); }
14、根据用户ID修改用户信息,mapper配置如下
15、测试代码如下
@Test public void updateUser() throws IOException { String resource="sqlMapConfig.xml"; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=factory.openSession(); User user=new User(); user.setId(1); user.setBirthday(new Date()); user.setSex("0"); session.update("updateUser",user); session.commit(); session.close(); }