创建项目
第一步
导入pom依赖
一个是mysqljar包依赖 一个是Mabatis依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
</dependency>
第二步
创建Mabatis的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.ssh.entity "></package>
</typeAliases>**
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ct?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="tiger"/>
//这是你连接数据库的包 连接数据库的表 密码 确保一样 这里连接的是mysql
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.ch.mapper.UsersMapper"></mapper>
//每写一次dao方法 在这里多加一个mapper 后面是你的dao方法的位置
</mappers>
</configuration>
注意点:
第三步
创建 model 就是之前的entity包
这里是我自己的数据库的实体类
package com.ch.model;
public class Users {
private int uid;
private String uname;
private String usex;
private String birthday;
private String address;
//写完 实体类的属性 记得封装属性
public Users(int uid, String uname, String usex, String birthday, String address) {
this.uid = uid;
this.uname = uname;
this.usex = usex;
this.birthday = birthday;
this.address = address;
}
public Users(String uname, String usex, String birthday, String address) {
this.uname = uname;
this.usex = usex;
this.birthday = birthday;
this.address = address;
}
public Users() {
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUsex() {
return usex;
}
public void setUsex(String usex) {
this.usex = usex;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
第四步
创建dao包dao类
我的mapper就是dao类 model就是实体类
这里的UsersMapper就是dao方法
使用注解方式增删改查
public interface UsersMapper {
//查询全部
@Select("select * from Users")
public List<Users> findAllUsers();
//单个查询
@Select("select * from Users where uid=#{uid}")
public Users findUserByuid(int uid);
//新增
@Insert("insert into Users (uname,usex,birthday,address) value (#{uname},#{usex},#{birthday},#{address})")
public void addUser(Users users);
//删除
@Delete("delete from users where uid=#{uid}")
public void deleUserByid(int uid);
//修改
@Update("update users set uname=#{uname} where uid=#{uid}")
public void updateUserByid(Users users);
第五步
测试结果
代码
package com.ch.test;
import com.ch.mapper.AuthorMapper;
import com.ch.mapper.PersonMapper;
import com.ch.mapper.StudentMapper;
import com.ch.mapper.UsersMapper;
import com.ch.model.*;
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.util.List;
public class TestUsers {
private SqlSessionFactory sqlSessionFactory;
private SqlSession sqlSession;
@Before
public void before(){
sqlSessionFactory = new SqlSessionFactoryBuilder().build(this.getClass().getClassLoader().getResourceAsStream("mybatis-config.xml"));
sqlSession = sqlSessionFactory.openSession();
}
@Test
public void test(){
// UsersMapper usersMapper=sqlSession.getMapper(UsersMapper.class);
//查询全部
// List<Users> list=usersMapper.findAllUsers();
// for (Users users : list) {
// System.out.println(users.getUname());
// }
//查询单个
// Users users=usersMapper.findUserByuid(1);
// System.out.println(users.getUname());
//新增对象
// Users users=new Users("彭于晏","男","2001-09-09","长沙");
// usersMapper.addUser(users);
//删除对象
// usersMapper.deleUserByid(2);
//修改对象
// Users users=new Users();
// users.setUid(1);
// users.setUname("胡歌");
// usersMapper.updateUserByid(users);
}
@After
public void after(){
sqlSession.commit();
}
}
@实体类一定要和数据库一样
查询全部
- 如果查询到了 获取到了 表示注解开发ok 注意方法的调用 参数和数据库的变动 记得after 提交 关闭 session 否则 新增 他不会加载到数据库里面