second
This commit is contained in:
5
pom.xml
5
pom.xml
@ -72,11 +72,6 @@
|
|||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.code-cxz</groupId>
|
|
||||||
<artifactId>custom-toolkit</artifactId>
|
|
||||||
<version>v1.0.0</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
package com.example.practice.controller;
|
||||||
|
|
||||||
|
import com.example.practice.entity.User;
|
||||||
|
import com.example.practice.mapper.UserMapper;
|
||||||
|
import com.example.practice.mapper.UserMapperImpl;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
//@Controller // UserController userController = new UserController(); userController对象放到SpringIOC容器中
|
||||||
|
//@ResponseBody // 把返回值打印到浏览器上
|
||||||
|
|
||||||
|
@RestController // @Controller + @ResponseBody
|
||||||
|
@RequestMapping("/user")
|
||||||
|
public class UserController {
|
||||||
|
|
||||||
|
private UserMapper userMapper = new UserMapperImpl();
|
||||||
|
|
||||||
|
@GetMapping("/selectAll")
|
||||||
|
public List<User> queryAll() {
|
||||||
|
List<User> users = userMapper.selectAll();
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
20
src/main/java/com/example/practice/mapper/UserMapper.java
Normal file
20
src/main/java/com/example/practice/mapper/UserMapper.java
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package com.example.practice.mapper;
|
||||||
|
|
||||||
|
import com.example.practice.entity.User;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface UserMapper {
|
||||||
|
|
||||||
|
List<User> selectAll();
|
||||||
|
|
||||||
|
User selectOne(Long id);
|
||||||
|
|
||||||
|
int insert(User user);
|
||||||
|
|
||||||
|
int update(User user);
|
||||||
|
|
||||||
|
int delete(Long id);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.example.practice.mapper;
|
||||||
|
|
||||||
|
import com.example.practice.entity.User;
|
||||||
|
import com.example.practice.utils.SqlSessionFactoryUtils;
|
||||||
|
import org.apache.ibatis.session.SqlSession;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class UserMapperImpl implements UserMapper {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<User> selectAll() {
|
||||||
|
// Mybatis动态代理机制
|
||||||
|
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession(); // 命名空间.sqlId
|
||||||
|
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||||
|
List<User> list = userMapper.selectAll();
|
||||||
|
// List<User> list = sqlSession.selectList("com.example.practice.mapper.UserMapper.selectAll");
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User selectOne(Long id) {
|
||||||
|
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||||
|
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||||
|
User user = userMapper.selectOne(id);
|
||||||
|
// User user = sqlSession.selectOne("com.example.practice.mapper.UserMapper.selectOne", 2);
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insert(User user) {
|
||||||
|
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||||
|
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||||
|
int result = userMapper.insert(user);
|
||||||
|
// int result = sqlSession.insert("com.example.practice.mapper.UserMapper.insert", user);
|
||||||
|
if (result == 0) throw new RuntimeException("删除失败");
|
||||||
|
sqlSession.commit();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int update(User user) {
|
||||||
|
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||||
|
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||||
|
int result = userMapper.update(user);
|
||||||
|
// int result = sqlSession.update("com.example.practice.mapper.UserMapper.update", user);
|
||||||
|
if (result == 0) throw new RuntimeException("删除失败");
|
||||||
|
sqlSession.commit();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int delete(Long id) {
|
||||||
|
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||||
|
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
|
||||||
|
int result = userMapper.delete(id);
|
||||||
|
// int result = sqlSession.delete("com.example.practice.mapper.UserMapper.delete", 2);
|
||||||
|
if (result == 0) throw new RuntimeException("删除失败");
|
||||||
|
sqlSession.commit();
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
@ -1,29 +1,38 @@
|
|||||||
package com.example.practice.sqlsessionTest;
|
package com.example.practice.sqlsessionTest;
|
||||||
|
|
||||||
import com.example.practice.entity.User;
|
import com.example.practice.entity.User;
|
||||||
import org.apache.ibatis.io.Resources;
|
import com.example.practice.mapper.UserMapper;
|
||||||
import org.apache.ibatis.session.SqlSession;
|
import com.example.practice.mapper.UserMapperImpl;
|
||||||
import org.apache.ibatis.session.SqlSessionFactory;
|
|
||||||
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SqlSessionTest {
|
public class SqlSessionTest {
|
||||||
|
|
||||||
public static void main(String[] args) throws IOException {
|
public static void main(String[] args) throws IOException {
|
||||||
|
|
||||||
// 加载配置文件(转成字节流的形式)
|
|
||||||
String resourcePath = "mybatis-config.xml";
|
|
||||||
InputStream is = Resources.getResourceAsStream(resourcePath);
|
|
||||||
|
|
||||||
// SqlSessionFactoryBuilder负责创建SqlSessionFactory对象
|
UserMapper userMapper = new UserMapperImpl();
|
||||||
// SqlSessionFactory负责生产SqlSession对象
|
List<User> users = userMapper.selectAll();
|
||||||
// SqlSession对象是负责连接数据库, 每执行一条sql语句,就会创建或者连接池中获取一个对象
|
for (User user : users) {
|
||||||
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
|
System.out.println(user);
|
||||||
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
|
}
|
||||||
SqlSession sqlSession = sqlSessionFactory.openSession();
|
|
||||||
|
// User user = userMapper.selectOne(2L);
|
||||||
|
// System.out.println(user);
|
||||||
|
//
|
||||||
|
// userMapper.delete(2L);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// User insertUser = new User();
|
||||||
|
// userMapper.insert(insertUser);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// User updateUser = new User();
|
||||||
|
// userMapper.update(updateUser);
|
||||||
|
|
||||||
|
|
||||||
|
// SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSession();
|
||||||
|
|
||||||
// List<User> list = sqlSession.selectList("fdsgfgd.selectList");
|
// List<User> list = sqlSession.selectList("fdsgfgd.selectList");
|
||||||
// for (User user : list) {
|
// for (User user : list) {
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.example.practice.utils;
|
||||||
|
|
||||||
|
import org.apache.ibatis.io.Resources;
|
||||||
|
import org.apache.ibatis.session.SqlSession;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactory;
|
||||||
|
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
public class SqlSessionFactoryUtils {
|
||||||
|
|
||||||
|
private static SqlSessionFactory sqlSessionFactory;
|
||||||
|
|
||||||
|
// 初始化SqlSessionFactory对象,表示需要操作哪个数据库
|
||||||
|
static {
|
||||||
|
// 加载配置文件(转成字节流的形式)
|
||||||
|
String resourcePath = "mybatis-config.xml";
|
||||||
|
InputStream is = null;
|
||||||
|
try {
|
||||||
|
is = Resources.getResourceAsStream(resourcePath);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// SqlSessionFactoryBuilder负责创建SqlSessionFactory对象
|
||||||
|
// SqlSessionFactory负责生产SqlSession对象
|
||||||
|
// SqlSession对象是负责连接数据库, 每执行一条sql语句,就会创建或者连接池中获取一个对象
|
||||||
|
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
|
||||||
|
sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 获取数据库连接对象
|
||||||
|
public static SqlSession getSqlSession() {
|
||||||
|
SqlSession sqlSession = sqlSessionFactory.openSession();
|
||||||
|
return sqlSession;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
6
src/main/resources/application.yml
Normal file
6
src/main/resources/application.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3306/practice
|
||||||
|
username: root
|
||||||
|
password: 123456
|
@ -2,8 +2,8 @@
|
|||||||
<!DOCTYPE mapper
|
<!DOCTYPE mapper
|
||||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="fdsgfgd">
|
<mapper namespace="com.example.practice.mapper.UserMapper">
|
||||||
<select id="selectList" resultType="com.example.practice.entity.User">
|
<select id="selectAll" resultType="com.example.practice.entity.User">
|
||||||
select * from user
|
select * from user
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<!--<?xml version="1.0" encoding="UTF-8" ?>-->
|
||||||
<!DOCTYPE configuration
|
<!--<!DOCTYPE configuration-->
|
||||||
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
<!-- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"-->
|
||||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
<!-- "http://mybatis.org/dtd/mybatis-3-config.dtd">-->
|
||||||
|
|
||||||
<configuration>
|
<!--<configuration>-->
|
||||||
|
|
||||||
<environments default="dev">
|
<!-- <environments default="dev">-->
|
||||||
|
|
||||||
<environment id="dev">
|
<!-- <environment id="dev">-->
|
||||||
<transactionManager type="JDBC"/>
|
<!-- <transactionManager type="JDBC"/>-->
|
||||||
<dataSource type="POOLED">
|
<!-- <dataSource type="POOLED">-->
|
||||||
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
|
<!-- <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
|
||||||
<property name="url" value="jdbc:mysql://localhost:3306/practice"/>
|
<!-- <property name="url" value="jdbc:mysql://localhost:3306/practice"/>-->
|
||||||
<property name="username" value="root"/>
|
<!-- <property name="username" value="root"/>-->
|
||||||
<property name="password" value="123456"/>
|
<!-- <property name="password" value="123456"/>-->
|
||||||
</dataSource>
|
<!-- </dataSource>-->
|
||||||
</environment>
|
<!-- </environment>-->
|
||||||
|
|
||||||
</environments>
|
<!-- </environments>-->
|
||||||
|
|
||||||
<mappers>
|
<!-- <mappers>-->
|
||||||
<mapper resource="mapper/UserMapper.xml"/>
|
<!-- <mapper resource="mapper/UserMapper.xml"/>-->
|
||||||
</mappers>
|
<!-- </mappers>-->
|
||||||
|
|
||||||
</configuration>
|
<!--</configuration>-->
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user