关于mybatis入门及一些注意点

mac2022-06-30  83

mybatis入门程序分为几步:

1.引入依赖

<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency></dependencies>2 编写配置文件sqlmapconfig.xml(模板可以提前在idea中准备) <?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 resource="jdbc.properties"></properties> <!--引用外部配置文件 即jdbc.propertioes--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.user}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers><!-- 在引用注解是注意在mappers标签中的引用 从mapper--》变为package--> <package name="cn.kgc.dao"/> </mappers></configuration> 3 编写实体类 package cn.kgc.domain;/** * @Date:Create in 2019/8/4 19:37 */public class Users { private Integer id; private String username; private String password; private String sex; private String address; @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", sex='" + sex + '\'' + ", address='" + 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 getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; }} 4 编写dao层 package cn.kgc.dao;import cn.kgc.domain.Users;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import java.util.List;/** * @Date:Create in 2019/8/4 19:41 */public interface UserDao { //查询全部 @Select("select * from users") public List<Users> findAll(); //根据id查询 @Select("select * from users where id=#{id}") public Users findById(Integer id); //增加一条数据 @Insert("insert into users values(null,#{username},#{password},#{sex},#{address})") public void save(Users user); //根据id删除一条数据 @Delete("delete from users where id=#{id}") public void delete(Integer id); //修改数据 @Update("update users set username=#{username} where id=#{id}") public void update(Users user);}5 编写测试类 import cn.kgc.dao.UserDao;import cn.kgc.domain.Users;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;/** * @Date:Create in 2019/8/4 20:27 */public class TestMybatis { @Test public void test(){ //创建SqlSessionFactory工厂 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(this.getClass().getClassLoader().getResourceAsStream("SqlMapConfig.xml")); SqlSession sqlSession = sqlSessionFactory.openSession(); UserDao userDao = sqlSession.getMapper(UserDao.class);// System.out.println(userDao.findAll());// System.out.println(userDao.findById(8)); Users users = new Users(); users.setSex("女"); users.setUsername("万字"); users.setPassword("11111"); users.setAddress("杭州"); users.setId(12);// userDao.save(users);// userDao.update(users); userDao.delete(12); sqlSession.commit(); sqlSession.close(); }}另外: 在编写sqlmapconfig.xml文件时一定要注意,小心,因为一个字母一个符号就可能导致整个项目报错,而一般小原因导致的错误是极其难找的,只要编写时注意点就ok。

转载于:https://www.cnblogs.com/yufudiaodayu/p/11299747.html

最新回复(0)