mybatis入门程序
2017-11-29 15:01
363 查看
导入依赖包和驱动包
实体类User 放在pojo包下
创建User.xml映射文件,放在sqlmap包下
创建mybatis配置文件SqlMapConfig.xml文件放在src下
使用Mapper动态代理开发,创建mapper接口放在mapper包下
进行测试,一段测试代码如下
实体类User 放在pojo包下
package xyz.db361.mybatis.pojo; import java.io.Serializable; import java.util.Date; public class User implements Serializable { /** * */ private static final long serialVersionUID = 1L; private Integer id; private String username;// 用户姓名 private String sex;// 性别 private Date birthday;// 生日 private String address;// 地址 public Integer getId() { return id; } public void setId(Integer 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; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } }
创建User.xml映射文件,放在sqlmap包下
<?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"> <!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 --> <!-- 写Sql语句 --> <mapper namespace="xyz.db361.mybatis.mapper.UserMapper"> <!-- 通过id查询一个用户 --> <select id="findUserById" parameterType="Integer" resultType="xyz.db361.mybatis.pojo.User"> select * from user where id = #{v} </select> <!-- #{}占位符 ? = ‘ ’ = ‘五’ ${} 字符串拼接 不带单引号 = ‘%五%’ --> <select id="findUserByUserName" parameterType="String" resultType="User"> select * from user where username like '%${value}%' <!-- select * from user where username like "%"#{value}"%" --> </select> <!-- 添加用户 --> <!-- User运用了别名 --> <insert id="insertUser" parameterType="User"> <selectKey keyProperty="id" resultType="Integer" order="AFTER"> select LAST_INSERT_ID() </selectKey> insert into user(username, birthday, address, sex) values(#{username}, #{birthday}, #{address}, #{sex}) </insert> <!-- 更新 --> <update id="updateUserById" parameterType="User"> update user set username = #{username}, sex = #{sex}, birthday = #{birthday}, address = #{address} where id = #{id} </update> <!-- 删除 --> <delete id="deleteUserById" parameterType="Integer"> delete from user where id = #{id} </delete> </mapper>
创建mybatis配置文件SqlMapConfig.xml文件放在src下
<?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 res 4000 ource="jdbc.properties"/> <!-- 别名 --> <typeAliases> <!-- <typeAlias type="xyz.db361.mybatis.pojo.User" alias="User"/> --> <!-- User user 都对 --> <package name="xyz.db361.mybatis.pojo"/> </typeAliases> <!-- 和spring整合后 environments配置将废除 --> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理 --> <transactionManager type="JDBC" /> <!-- 数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 告诉Mapper文件的位置 --> <mappers> <!-- resource class url其中一个 --> <mapper resource="sqlmap/User.xml"/> <!-- 要求mapper名称和映射文件相同且在同意目录下 --> <!-- <mapper class="xyz.db361.mybatis.mapper.UserMapper"/> --> </mappers> </configuration>
使用Mapper动态代理开发,创建mapper接口放在mapper包下
package xyz.db361.mybatis.mapper; import xyz.db361.mybatis.pojo.User; public interface UserMapper { /** * 遵循四个原则 * 接口方法名 = User.xml文件中的id名 * 返回值类型与xml文件中返回类型一致 * 方法的入参类型与xml文件中入参的类型要一致 * 接口和xml文件绑定(在xml文件中进行) * */ public User findUserById(Integer id); public Integer deleteUserById(Integer id); }
进行测试,一段测试代码如下
@Test public void testMapper() throws IOException { // 加载核心配置文件 String resource = "SqlMapConfig.xml"; // Resources.get InputStream in = Resources.getResourceAsStream(resource); // 创建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); // 创建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //SqlSession帮我生成一个实现类(给接口) UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User u = userMapper.findUserById(34); System.out.println(u); }
相关文章推荐
- Mybatis实战-入门程序
- 【MyBatis框架】MyBatis入门程序第一部分
- MyBatis入门基础(一)--入门程序
- MyBatis3入门程序(02_注册别名typeAlias)
- mybatis入门-第一个程序
- 初识Mybatis(三)之入门级程序开发
- Spring+SpringMVC+MyBatis深入学习及搭建(十三)——SpringMVC入门程序(二)
- 框架学习系列 mybatis 第6篇 mybatis入门程序之需求开发3向数据库中插入数据1
- 【MyBatis框架】MyBatis入门程序第二部分
- 【MyBatis框架】MyBatis入门程序第一部分
- Mybatis入门程序
- Mybatis入门程序
- Mybatis总结(一)--初始Mybatis及入门程序
- mybatis_入门程序
- MyBatis_入门程序
- MyBatis3入门程序(01_增删改查)
- 【JavaWeb-26】MyBatis快速入门程序+一些扩展
- mybatis的入门程序
- mybatis入门_mybatis基本原理以及入门程序