一、mybatis与MySQL的连接
①、在pom中导入相关的依赖
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
②、配置mybatis.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>
<environments default="development">
<!--开发环境为开发模式,可以设置为test模式-->
<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/springmvc"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!--映射实体类的配置文件-->
<mappers>
<mapper resource="mapper/user.xml"/>
</mappers>
</configuration>
③、编写实体类和dao层接口
List<User> findAllUser();
List<User> findUserAndRole();
void addUser(User user);
void deleteUser(User user);
void updateUser(User user);
④、编写实体类的映射文件user.xml,此时的配置文件相当于dao层的实现类
<?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">
<mapper namespace="com.xhy.dao.UserDao">
<!--parametertype:输入数据的类型;#{name}:取user中name属性的值,保证属性名和实体类中名字一致-->
<insert id="addUser" parameterType="com.xhy.pojo.User">
insert into user(name) values(#{name})
</insert>
<delete id="deleteUser">
delete from user where id=#{id}
</delete>
<update id="updateUser" parameterType="com.xhy.pojo.User">
update user SET NAME =#{name},pwd=#{pwd} WHERE id=#{id};
</update>
<!--resultType:指定返回的数据类型,就是把查到的数据存入User类的对象中-->
<select id="findAllUser" resultType="com.xhy.pojo.User">
select * from user
</select>
</mapper>
④、编写controller层
// 创建session工厂
static SqlSessionFactory ssf;
static {
try {
//读取文件并建立会话工厂
InputStream is = Resources.getResourceAsStream("mybatis.xml");
ssf = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
//查询用户
@Test
public void findAllUser() {
SqlSession ss = ssf.openSession();
List<User> list = ss.selectList("com.xhy.dao.UserDao.findAllUser");
for (User u : list) {
System.out.println(u);
}
ss.close();
}
@Test
public void test() {
SqlSession ss = ssf.openSession();
User u = new User();
//添加用户
u.setName("888");
ss.insert("com.xhy.dao.UserDao.addUser", u);
//删除用户
// user.setId(9);
// ss.delete("com.xhy.dao.UserDao.deleteUser",user);
// 修改用户
// u.setId(7);
// u.setName("888");
// ss.update("com.xhy.dao.UserDao.updateUser", u);
ss.commit();
findAllUser();
ss.close();
}
网友评论