结构图
1.创建maven项目
2.引入依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version> RELEASE</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency>
<!--日志约束--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version> RELEASE</version> </dependency>
3.配置mybatis-config.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> <!--配置别名--> <typeAliases> <package name="com.sf.wj.domain"/> </typeAliases> <!--数据源配置--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/company?serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!--资源引用--> <mappers> <mapper resource="mappers/UserMapper.xml"/> </mappers> </configuration>
mybatis-config配置文件,要按照一定的顺序配置
4.数据库对应的实体类
public class User { private int id; private String username; private String password; 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username=‘" + username + ‘\‘‘ + ", password=‘" + password + ‘\‘‘ + ‘}‘; } }
5.创建mapper接口
package com.sf.wj.mapper;
import com.sf.wj.domain.User;
import java.util.List;
public interface UserMapper {
User queryById(int id);
void deleteById(int id);
List<User> queryAll();
void updateUser(User user);
void insertUser(User user);
List<User> queryByIds(int[] ids);
}
6.创建UserMapper.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="com.sf.wj.mapper.UserMapper"> <select id="queryById" parameterType="int" resultType="User"> select * from user where id = #{id} </select> <delete id="deleteById" parameterType="Integer" > delete from user where id = #{id} </delete> <select id="queryAll" resultType="User"> select * from user </select> <update id="updateUser" parameterType="User"> update user set username = #{username},password = #{password} where id=#{id} </update> <insert id="insertUser" parameterType="User"> insert into user (id,username,password) values (#{id},#{username},#{password}) </insert>
<!--按多个id查找用户 foreach-->
<select id="queryByIds" resultType="User">
select * from user where id in
<foreach collection="array" open="(" close=")" separator="," item="id">
#{id}
</foreach>
</select>
</mapper>
7.测试用例
package com.sf.wj; import com.sf.wj.domain.User; import com.sf.wj.mapper.UserMapper; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; public class UserTest { private UserMapper mapper; private SqlSession sqlSession; private InputStream inputStream; @Before public void setUp() throws IOException { String rusource = "mybatis-config.xml"; inputStream = Resources.getResourceAsStream(rusource); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); //默认传入参数false,不自动提交 sqlSession = factory.openSession(false); mapper = sqlSession.getMapper(UserMapper.class); } @After public void commit(){ try { sqlSession.commit(); inputStream.close(); sqlSession.close(); } catch (IOException e) { e.printStackTrace(); } } @Test public void queryByIdTest(){ User user = mapper.queryById(1); System.out.println(user); } @Test public void queryAllTest(){ List<User> user = mapper.queryAll(); System.out.println(user); } @Test public void deleteTest(){ mapper.deleteById(1); } @Test public void updateTest(){ User user=new User(); user.setId(1); user.setPassword("qwert"); user.setUsername("jg"); mapper.updateUser(user); } @Test public void insertTest(){ User user=new User(); user.setId(3); user.setPassword("369"); user.setUsername("zs"); mapper.insertUser(user); }
//多个id查找
@Test
public void queryByIdsTest(){
List<User> list = mapper.queryByIds(new int[]{1, 2, 3});
System.out.println(list);
}
}
原文:https://www.cnblogs.com/jiezai/p/12072801.html