mybatis-demo-fangneng(实现Mapper配置并查询数据)

pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>


4.0.0

<groupId>org.example</groupId>
<artifactId>mybatis-demo-fangneng</artifactId>
<version>1.0-SNAPSHOT</version>


<dependencies>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.3.0-alpha5</version>
        <scope>test</scope>
    </dependency>
</dependencies>
User文件:

public class User {
private Integer id;

@Override
public String toString() {
    return "User{" +
            "id=" + id +
            ", username='" + username + '\'' +
            ", age=" + age +
            ", score=" + score +
            '}';
}

private String username;
private Integer age;

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 Integer getAge() {
    return age;
}

public void setAge(Integer age) {
    this.age = age;
}

public Integer getScore() {
    return score;
}

public void setScore(Integer score) {
    this.score = score;
}

private Integer score;

}
UserMapper文件:
public interface UserMapper {
/**
* 通过用户id查询用户名称
*
* @param id 用户id
* @return 用户名称
/
@Select(“SELECT username FROM user WHERE id = #{id}”)
String selectUsernameById(Integer id);
/
*
* 通过用户id查询用户年龄
*
* @param id 用户id
* @return 用户年龄
*/
Integer selectUserAgeById(Integer id);

User selectUserById(Integer id);

}
UserMapper文件:

<?xml version="1.0" encoding="UTF-8" ?> SELECT age FROM user WHERE id = #{id} SELECT * FROM user WHERE id = #{id}
<resultMap id="userMap" type="entity.User">
    <id property="id" column="id"/>
    <result property="username" column="username"/>
    <result property="age" column="age"/>
    <result property="score" column="score"/>
</resultMap>
mybatis-config文件: <?xml version="1.0" encoding="UTF-8" ?> JDBCDemo文件: public class JDBCDemo { public static void main(String[] args) throws Exception { //1.注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //2.获取连接 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis_demo", "root", "1003"); //3.获取Statement对象 PreparedStatement preparedStatement = connection.prepareStatement("select * from user WHERE id = ?"); preparedStatement.setInt(1, 1); //4.执行SQL语句返回结果集 ResultSet resultSet = preparedStatement.executeQuery(); //5.遍历结果集 while (resultSet.next()) { System.out.println("username: " + resultSet.getString("username")); System.out.println("age: " + resultSet.getString("age")); } //6.释放资源 resultSet.close(); preparedStatement.close(); connection.close(); } } StartWithXml文件: @SuppressWarnings({"SqlResolve", "SqlNoDataSourceInspection", "Duplicates"}) public class StartWithXml { public static void main(String[] args) throws SQLException, IOException { //读取配置文件 InputStream configuration = Resources.getResourceAsStream("mybatis-config.xml"); // 得到 SqlSessionFactory 核心类 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration); // 开始一个 sql 会话 SqlSession session = sqlSessionFactory.openSession(); // 得到 sql 连接并运行 sql 语句 PreparedStatement preStatement = session .getConnection() .prepareStatement("SELECT * FROM user WHERE id = ?"); preStatement.setInt(1, 1); ResultSet result = preStatement.executeQuery(); // 验证结果 while (result.next()) { System.out.println("username: " + result.getString("username")); System.out.println("age: " + result.getString("age")); } // 关闭会话 session.close(); } } UserTest文件: @SuppressWarnings({"Duplicates"}) public class UserTest { public static void main(String[] args) throws SQLException, IOException { //读取配置文件 InputStream configuration = Resources.getResourceAsStream("mybatis-config.xml"); // 得到 SqlSessionFactory 核心类 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration); // 开始一个 sql 会话 SqlSession session = sqlSessionFactory.openSession(); // 得到 mapper UserMapper mapper = session.getMapper(UserMapper.class); // 调用注解的SQL String username = mapper.selectUsernameById(1); System.out.println("username: " + username); // 调用xml的SQL Integer age = mapper.selectUserAgeById(1); System.out.println("age: " + age); // 调用xml的SQL来获取对象 User user = mapper.selectUserById(1); System.out.println(user); // 关闭会话 session.close(); } } 测试运行结果文件: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210414222939340.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3d6MDExNg==,size_16,color_FFFFFF,t_70#pic_center)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值