Mybatis系列之全注解方式操作数据库例子

举报
yd_273762914 发表于 2020/12/02 23:39:00 2020/12/02
【摘要】         User.java:   package com.mybatis.entity; public class User { /* * ID */ private int id; /* * 用户姓名 */ private String name; /* * age */ priv...

 

 

 

 

User.java:

 


  
  1. package com.mybatis.entity;
  2. public class User {
  3. /*
  4. * ID
  5. */
  6. private int id;
  7. /*
  8. * 用户姓名
  9. */
  10. private String name;
  11. /*
  12. * age
  13. */
  14. private int age;
  15. public int getId() {
  16. return id;
  17. }
  18. public void setId(int id) {
  19. this.id = id;
  20. }
  21. public String getName() {
  22. return name;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. public int getAge() {
  28. return age;
  29. }
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33. @Override
  34. public String toString() {
  35. return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
  36. }
  37. }

 

 

 

注解方式的UserMapper.java

 


  
  1. package com.mybatis.mapper;
  2. import java.util.List;
  3. import org.apache.ibatis.annotations.Delete;
  4. import org.apache.ibatis.annotations.Insert;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. import com.mybatis.entity.User;
  8. public interface UserMapper {
  9. @Insert("insert into users(name,age) values(#{name},#{age})")
  10. public void save(User user);
  11. @Update("update users set name=#{name},age=#{age} where id=#{id}")
  12. public boolean update(User user);
  13. @Delete("delete from users where id=#{id}")
  14. public boolean delete(int id);
  15. @Select("select * from users where id=#{id}")
  16. public User findById(int id);
  17. @Select("select * from users")
  18. public List<User> findAll();
  19. }

 

注册这个接口,mybatis-config.xml:

 


  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  4. <configuration>
  5. <!-- 数据库配置文件 -->
  6. <properties resource="db.properties" />
  7. <!-- 实体类,简称 -设置别名 -->
  8. <typeAliases>
  9. <typeAlias alias="User" type="com.mybatis.entity.User" />
  10. </typeAliases>
  11. <!-- 读取db.properties里的数据,进行数据库配置 -->
  12. <environments default="development">
  13. <environment id="development">
  14. <transactionManager type="JDBC" />
  15. <dataSource type="POOLED">
  16. <property name="driver" value="${driver}"/>
  17. <property name="url" value="${url}" />
  18. <property name="username" value="${username}"/>
  19. <property name="password" value="${password}"/>
  20. </dataSource>
  21. </environment>
  22. </environments>
  23. <!--
  24. 注册userMapper.xml文件
  25. <mappers>
  26. <mapper resource="com/mybatis/mapper/userMapper.xml"/>
  27. </mappers>
  28. -->
  29. <mappers>
  30. <mapper class="com.mybatis.mapper.UserMapper"/>
  31. </mappers>
  32. </configuration>

 

 

 

db.properties:

 


  
  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc\:mysql\://localhost\:3306/db_mysql?useUnicode\=true&characterEncoding\=utf-8
  3. username=root
  4. password=111

 

 

 

日志文件


  
  1. log4j.properties\uFF0C
  2. log4j.rootLogger=DEBUG, Console
  3. #Console
  4. log4j.appender.Console=org.apache.log4j.ConsoleAppender
  5. log4j.appender.Console.layout=org.apache.log4j.PatternLayout
  6. log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
  7. log4j.logger.java.sql.ResultSet=INFO
  8. log4j.logger.org.apache=INFO
  9. log4j.logger.java.sql.Connection=DEBUG
  10. log4j.logger.java.sql.Statement=DEBUG
  11. log4j.logger.java.sql.PreparedStatement=DEBUG


进行测试:

 


  
  1. import java.io.Reader;
  2. import org.apache.ibatis.io.Resources;
  3. import org.apache.ibatis.session.SqlSession;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  6. import com.mybatis.entity.User;
  7. import com.mybatis.mapper.UserMapper;
  8. public class Test {
  9. public static void main(String[] args) {
  10. // String resource = "mybatis-config.xml";
  11. // try{
  12. // //加载Mybatis的配置文件
  13. // Reader reader = Resources.getResourceAsReader(resource);
  14. // //构建sqlSession的工厂
  15. // SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
  16. // //创建可以执行sql的SqlSession
  17. // SqlSession session = sessionFactory.openSession();
  18. // //映射sql的标志字符串
  19. // String statement = "com.mybatis.mapper.userMapper.findById";
  20. // //执行查询返回id为1的User对象
  21. // User user = session.selectOne(statement,1);
  22. // System.out.println(user);
  23. //
  24. // }catch (Exception e) {
  25. // e.printStackTrace();
  26. // }
  27. String resource = "mybatis-config.xml";
  28. try{
  29. //加载Mybatis的配置文件
  30. Reader reader = Resources.getResourceAsReader(resource);
  31. //构建sqlSession的工厂
  32. SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
  33. //创建可以执行sql的SqlSession
  34. SqlSession session = sessionFactory.openSession();
  35. UserMapper mapper = session.getMapper(UserMapper.class);
  36. User user = mapper.findById(1);
  37. System.out.println(user);
  38. }catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. }
  42. }

 

 

 

 

 

文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。

原文链接:smilenicky.blog.csdn.net/article/details/51290605

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。