一、MyBaits 程序

本文介绍了MyBatis的两种操作数据库对象的方式,包括XML配置和接口注解,并展示了Spring的IOC功能,如通过XML配置和注解实现对象实例化。接着讨论了SpringAOP的概念,演示了如何使用注解定义切点和增强。最后,简要说明了SpringMVC中控制器和模型的数据传递。

一、MyBaits 程序

​ 功能:操作数据库对象

第一种实现方式:xml配置

1)POJO实体类

public class User{

​ private name;

}

2)配置xml文件映射

<mapper namespace="POJO.user">
    <select id = "findById" parameterType = "int" resultType = "user">
    	SELECT * from t_user where id = #{id}
    
    </select>
    <update id = "update" parameterType = "user">
    	UPDATE t_user set uname=#{uname} where id =#{id}
    </update>
    <delete id ="delete" parameterType="user">
    	delete from t_user where id =#{id}
    </delete>
    <insert id ="insert" parameterType ="user">
    	insert into t_user(uid,uname) values (#{uid},#{uname})
    </insert>
	
</mapper>

3)编写测试类

public class Test{
    public  static void main(String []){
        //1、先读取配置文件
        InputStream is = Resouces.getResourceAsStream("mybaits-config.xml")
        //2、创建sqlsession工厂
        SqlSessionFactory ssf = new SqlSessionFactoryBuider.build(is)
            
       //3、开启会话
       SqlSession ss = ssf.opensession();
        
        //4、执行操作
        User user = ss.selectOne("findByID",1)
            
        //5、关闭会话
         ss.close()
             
         
    }
}
第二种实现方式:接口注解

1)POJO实体类

public class User{

	private name;

}

2)写一个操作这个实体类的接口

public interface UserMapper{
	@Select("select * from t_user where id=#{id}")
	Worker selectById(int id)
}

3)测试类调用接口

public void FindTest(){
     //1、先读取配置文件
        InputStream is = Resouces.getResourceAsStream("mybaits-config.xml")
        //2、创建sqlsession工厂
        SqlSessionFactory ssf = new SqlSessionFactoryBuider.build(is)
            
       //3、开启会话
       SqlSession ss = ssf.opensession();
    
    ---这些都一样,下面开始不一样,关键在于实例化出来一个接口对象---
    
    	//4、关键:先实例化出来一个接口
    	UserMapper ump = ss.getMapper(UserMapper.class)
            
         //5、调用接口下的指定方法
          Worker worker = ump.selectById(1)
            
           //6、关闭会话
         ss.close()
}

二、Spring_IOC

​ 功能:帮程序员实例化对象

方法一:xml文档配置

1)先自己随便写一个实体类

public class Hello(){
    private String name;
    public void show(){
        print("hello");
    }
}

2)xml文件中进行配置实例

<bean id = "hello" class = "com.Hello">
	//开始赋值
    <property name = "name" value="zhangsan"></property>
</bean>

3)测试类中测试生成

public class Test{
    main(){
        //1、初始化spring容器,读取xml配置
       ApplicationContext ac = new ClassPathXmlApplicationContext("application.xml")
        //2、从容器中取出对象
         Hello hello =Hello)ac.getBean("hello")//利用bean的id取出
         //3、测试对象的功能
           hello.show()
           
       
    }
}
方法二:利用对类注解

其中:

@Component 是对常规实体类的注解

@Service 是对服务层类的类的注解

@Controller 是对控制层的类的注解

@Repository 是对DAO层的类的注解

1)创建实体类

@Component("user") 这个类实例化的对象名字叫user
public class User{
    @Value("xsx")
    private String name
}

2)创建各个层的接口及类

  • DAO层:需要调用实体对象

    public interface UserDao{
        public void save();
    }
    
    @Repository("userDAO")
    public class UserDaoImpl implements UserDao{
        public void save(){
            //1、加载spring容器 并读取对应配置
            ApplicationContext ac =new ClassPathXmlApplicationContext("appliconContext.xml")
            //2、从容器中取出对象
              User user = ac.getBean("user");
        }
    }
    
  • Service层:调用DAO对象

public interface Service{
    public void sace();
}

@Service("userService")
public class ServiceImpl implements Service(){
    //想要调用那个DAO对象
    @Resource(name = "userDao")
    public void save(){
        
    }
}
  • Controller层:想要调用service层
public interface Controller{
    public void save();
}

@Controller("controller")
public class ControllerImpl implements Controller{
    
    @Resource(name="service") or @Autowired
    private Service service;
    
    public void save(){
        
    }
}

三、Spring_AOP

​ 核心:在切面中配置切入点和增强的关系

基于注解的方法实现

1)首先是你要增强的类 也就是你的切入点

public class UserDaoImpl implements UserDao{
    public void insert() {
        System.out.println("添加用户信息"); }
    public void delete() {
        System.out.println("删除用户信息"); }
    public void update() {
        System.out.println("更新用户信息"); }
    public void select() {
        System.out.println("查询用户信息"); }
}

2)接下来是你的增强方法所在类

@Aspect
public class AnnoAdvice{
    
    //1、先声明你的切入点在那里
    @PointCut("execution(* com.itheima.demo03.UserDaoImp.*(..))")
    public void pointcut(){
        
    }
    
    //2、事务开始前想要执行的
    @Before("pointcut()")
    public void before(JointPoint jointpoint){
        print("before")
    }
}

常用的加入位置

@Before

@After:程序结束一定会执行

@AfterReturing

@AfterThrowing

四、SpringMVC

1)一个控制类:最简单的不带参数的

@Controller
public class FirstController{
    @RequestMapping("/firstController")
    public String Hello(){
        print("想要访问hello页面")
        return  "suceess";
    }
}
    

2)如果传来的数据带有参数

/*
	默认参数类型
			HttpServeletRequest
			Model

*/

@Controller
public class FirstController{
    @RequestMapping("/firstController")
    public String Hello(HttpServeletRequest re,Model model){
        print(re.getParameter("userid"))
        model.addAttribute("msg","nihao") //到时候在前端jsp就可以取出
        return  "suceess";
    }
}

veletRequest
Model

*/

@Controller
public class FirstController{
@RequestMapping(“/firstController”)
public String Hello(HttpServeletRequest re,Model model){
print(re.getParameter(“userid”))
model.addAttribute(“msg”,“nihao”) //到时候在前端jsp就可以取出
return “suceess”;
}
}


### 创建 MyBatis 项目的步骤 #### 使用 Maven 构建工具初始化项目结构 为了在 IntelliJ IDEA 2021 版本中创建新的 MyBatis 项目,需先利用 Maven 来构建基础架构。Maven 是种强大的 Java 项目管理工具,能够简化依赖管理和构建过程。 ```xml <dependencies> <!--mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <!--mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> </dependencies> ``` 上述 XML 片段展示了必要的 POM 文件配置来引入 MyBatis 和 MySQL 数据库连接器作为依赖项[^2]。 #### 编写 MyBatis 主要配置文件 `mybatis-config.xml` 接着,在资源目录下新建名为 `mybatis-config.xml` 的全局设置文档,用于定义数据源、事务管理以及映射文件的位置等核心参数: ```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"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/example/demo/mapper/UserMapper.xml"/> </mappers> </configuration> ``` 此配置指定了开发环境下的 JDBC 连接池属性,并加载了指定路径中的 Mapper 映射文件。 #### 设置数据库连接信息于 `application.properties` 对于 Spring Boot 应用程序而言,通常会有个 `application.properties` 或者 `.yml` 格式的配置文件用来存储应用程序级别的设定,比如这里提到的数据源详情: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver mybatis.mapper-locations=classpath:mapper/*.xml mybatis.type-aliases-package=com.yourpackage.model ``` 这些条目明确了如何访问本地安装的 MySQL 实例及其认证凭证,同时也告知了 MyBatis 去哪里寻找 SQL 映射文件和实体类别名包位置[^3]。 完成以上操作之后,便可以在 IntelliJ IDEA 中成功搭建起基于 MyBatis 技术栈的新项目了。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值