Java实战篇

命名空间

package fruit;就表示你在声明该编译单元是名为fruit的类库的一部分,或者换句话说,你正在声明该编译单元中的public类名称是位于fruit名称的保护伞下,由fruit名称罩着。任何想要使用该public类名称的人都必须指定全名或者与fruit结合使用关键字import。

package fruit;  
public class Apple  
{  
    //...  
}  
import fruit.*;  
public class ImportApple  
{  
    public static void main(String[] args)  
    {  
        Apple a=new Apple();  
    }  
}  

创建唯一的命名空间

以域名Food.NET为例。把它的顺序倒过来,并且全部转换为小写,net.food就成了我们创建类的一个独一无二的名称空间。如果我们决定再创建一个名为fruit的类库,我们可以将该名称进一步细分,于是得到一个包名如下:
package net.food.fruit;如:package cn.com.instai.print.controller;
现在,这个包名称就可以用作下面Apple这个文件的名称空间保护伞了:
如:package cn.com.instai.print.controller;
会在编译的时候创建相应的文件夹,并在文件夹下创建相应的文件(文件头使用了package cn.com.instai.print.controller;的文件)

java Resources/src/main/java/cn.com.instai.print.controller 下的文件和目录src/main/java/cn/com/instai/print/controller是统一文件夹,并指向同一文件.

引入工具类import

import java.util.Map;表示引入JDK下面的方法,而这些方法存在于C:\Program Files\Java\jdk1.8.0_60\src.zip里的java\util\Map.java文件.

引入框架已编译好的工具类

import org.springframework.web.bind.annotation.RequestParam;
而这些文件存在于java Resources/Libraries/Maven Dependencies已编译好的class文件中

引入java开发框架Spring

参考方法:http://www.cnblogs.com/zhuocheng/archive/2012/08/01/2618407.html
1.下载Spring.jar
2.在webapp/WEB-INF/web.xml文件里加入如下代码:

<span style="font-size: small;">    <!-- Spring Configures -->  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>/WEB-INF/*-context.xml</param-value>  
    </context-param>  
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    </listener></span>  

3.在WEB-INF目录加入*-context.xml文件,比如page-context.xml,文件内容如下:

<span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  
 "http://www.springframework.org/dtd/spring-beans.dtd">  
<beans>  
    <bean id="exportTableCondition" class="com.kingstar.hbm.dorado.ExportTableCondition" />  
    <bean id="organEffectDetail" class="com.kingstar.hbm.dorado.OrganEffectDetail" />  
    <bean id="completedCaseDetail" class="com.kingstar.hbm.dorado.CompletedCaseDetail" />  
    <bean id="dealingClaimDetail" class="com.kingstar.hbm.dorado.DealingClaimDetail" />  
    <bean id="guaranteeClaimDetail" class="com.kingstar.hbm.dorado.GuaranteeClaimDetail" />  
</beans>  
</span> 

编写一个接口

第一步,在cn.com.instai.print.controller的PrintController文件内增加一个接口:http://localhost:8080/instai-print-console/eqs/login?id=15

@RestController
@RequestMapping("eqs")
public class PrintController {
@RequestMapping(value = "login", method = RequestMethod.GET)
    public RespData<PrintUser> login(@RequestParam("id") Integer id)throws CustomException {
        return '内容';
    }
    }

第二步,使用mybatis工具自动形成映射表,此步骤会产生以下几个文件PrintUser.java、PrintUserMapper.xml、PrintUserMapper.java,PrintUser.java复制到cn.com.instai.api.model.print下,PrintUserMapper.xml、PrintUserMapper.java复制到cn.com.instai.print.mapper下。mybatis工具的config.xml增加以下代码,并在当前文件夹下cmd:java -jar mybatis-generator-core-1.3.2.jar -configfile config.xml -overwrite。

<table schema="instai_print" tableName="t_print_user" domainObjectName="PrintUser" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" >
  </table>

第三步,在接口中调用上述文件或者方法,代码如下(粘贴代码后使用快捷键ctrl+shift+o,快速引入相关文件):

import cn.com.instai.api.model.print.RespData;
import cn.com.instai.api.model.print.PrintUser;
import cn.com.instai.print.service.PrintService;
@RequestMapping(value = "login", method = RequestMethod.GET)
    public RespData<PrintUser> login(@RequestParam("id") Integer id)throws CustomException {
        logger.debug("----------------------    login begin   ---------------------------");
        RespData<PrintUser> resp = new RespData<>();//RespData为已经写好的方法,设置统一返回格式
        PrintUser info = printService.login(id);
        resp.setCode(SUCCESS);
        resp.setMsg("操作成功");
        resp.setSuccess(true);
        resp.setObj(info);
        logger.debug("----------------------    login end     ---------------------------");
        return resp;
    }

import cn.com.instai.api.model.print.PrintUser;//引入对象
import cn.com.instai.api.model.print.RespData;//引入对象
import cn.com.instai.print.service.PrintService;//引入方法库
RespData resp = new RespData<>();//将PrintUser对象作为参数,初始化对象
@RequestParam(“id”) Integer id//获取get参数
PrintUser info = printService.login(id);//调用printService的login()方法进行实例化
第四步,在printService中配置实现实现方法

package cn.com.instai.print.service;

import java.util.List;
import cn.com.instai.api.model.print.PrintUser;
import cn.com.instai.common.exception.CustomException;
public interface PrintService {
    PrintUser login(Integer id);
}

在cn.com.instai.print.serviceImpl的PrintServiceImpl 中增加以下代码:

package cn.com.instai.print.serviceImpl;
import cn.com.instai.print.mapper.PrintUserMapper;//引入映射表,上述第二步生成的文件
import cn.com.instai.print.service.PrintService;
@Service("printService")
public class PrintServiceImpl implements PrintService {
@Override
    public PrintUser login(Integer id) {
        PrintUser info = printUserMapper.selectByPrimaryKey(id);//通过主键id查询数据库
        if(info==null){
            // ...
            return null;
        }
        return info;
    }
}

第五步,增加查询方式在cn.com.instai.print.mapper的printUserMapper.java增加代码:

package cn.com.instai.print.mapper;
import cn.com.instai.api.model.print.PrintUser;
public interface PrintUserMapper {
    int deleteByPrimaryKey(Integer id);
    int insert(PrintUser record);
    int insertSelective(PrintUser record);
    PrintUser selectByPrimaryKey(Integer id);
    int updateByPrimaryKeySelective(PrintUser record);
    int updateByPrimaryKey(PrintUser record);
    PrintUser selectByName(String name);//自己增加的查询方式
}

同时在cn.com.instai.print.mapper的printUserMapper.xml中增加,增加后即可通过PrintUser info = printUserMapper.selectByName(name)调用:

<select id="selectByName" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select 
    <include refid="Base_Column_List" />
    from t_print_user
    where NAME = #{name}
  </select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GY程序源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值