第一个mybatis
1.核心配置文件
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>核心配置文件-->
<configuration>
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="xxxxxx"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="userMapper.xml"/>
</mappers>
</configuration>
解释
-
上面是xml的头部
-
标签里面存放数据库的一些数据,例如重要的 driver 、url、 username、 password
-
enviromments 中可以存放多个配置文件, default 标签指向的是默认使用的配置,如果不想使用该配置,只需再新创建一个
environment 里面的id标签的值与父标签 environments 里的default对应即可
-
例:
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">
<!--namespace绑定一个对应的mapper接口-->
<mapper namespace="com.oo.dao.UserMapper">
<select id="getUserList" resultType="com.oo.pojo.User">
select * from mybatis.user;
</select>
</mapper>
解释
- mapper标签:一个mapper标签对应一个接口
- namespace 对应的是接口。面向接口编程,因此,方法写在接口里
- mapper标签里面存放sql语句
- 一个sql语句,对应一个标签,id对应接口里的一个抽象方法
- resultType:返回值类型:一般用java下的绝对路径(maven构建的项目)
- sql对应的标签里,存放sql语句
UserMapper.java
package com.oo.dao;
import com.oo.pojo.User;
import java.util.List;
public interface UserMapper {
// 面向接口编程
List<User> getUserList();
User getUserById(int id);
int addUser(User user);
int updateUser(User user);
int deleteUser(int id);
}
User.java
package com.oo.pojo;
/**
* @Date 2021/5/6 16:59
**/
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public User() {
}
}