关于mybatis入门及一些注意点

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。




猜你喜欢

转载自www.cnblogs.com/yufudiaodayu/p/11299747.html